小编Gan*_*bin的帖子

如何在循环中返回许多Promise并等待它们全部做其他事情

我有一个循环调用一个异步执行的方法.这个循环可以多次调用该方法.在这个循环之后,我有另一个循环,只有在完成所有异步操作后才需要执行.所以这说明了我的愿望:

for (i = 0; i < 5; i++) {
    doSomeAsyncStuff();    
}

for (i = 0; i < 5; i++) {
    doSomeStuffOnlyWhenTheAsyncStuffIsFinish();    
}
Run Code Online (Sandbox Code Playgroud)

我对承诺并不熟悉,所以有人能帮助我实现这一目标吗?

这是我的doSomeAsyncStuff()表现:

function doSomeAsyncStuff() {
    var editor = generateCKEditor();
    editor.on('instanceReady', function(evt) {
        doSomeStuff();
        // There should be the resolve() of the promises I think.
    })
}
Run Code Online (Sandbox Code Playgroud)

也许我必须做那样的事情:

function doSomeAsyncStuff() {
    var editor = generateCKEditor();
    return new Promise(function(resolve,refuse) {
        editor.on('instanceReady', function(evt) {
            doSomeStuff();
            resolve(true);
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

但我不确定语法.

javascript promise ecmascript-6 es6-promise

49
推荐指数
2
解决办法
4万
查看次数

使用XRegExp.matchRecursive进行嵌套跨度

我想实现一种方法来获取一个开放范围标记和它的关闭标记之间的所有内容.问题是,有时我可以嵌套跨度,我想确保我的正则表达式不会停止它看到的第一个结束跨度.

要查看我的问题,请看:Regex101:嵌套跨度

我想确保我得到open和close标签之间的所有内容.无论</span>我在里面找到多少.

我找到了Steven Levithan制作的图书馆,可以满足我的需求.我遇到的问题是这个例子是基本的,我不确定我能达到我想要的.

我正在使用XregExp.matchRecursive方法.在示例中,它们提供了开始标记和结束标记.我的开始标签有点复杂,看起来像这样:<span style=\\?"color:([a-zA-Z\s]*?)\\?">.问题是,当我使用此分隔符执行此方法时,我收到此错误:string包含不平衡分隔符.测试的字符串是:

<p style=\"text-align:justify\">
    <span style=\"font-size:12pt\">
        <span style=\"color:Green\">
            <span style=\"font-family:Verdana\">There is some content for a mm advertisment.There is some co</span>
            <span style=\"font-family:Times New Roman\">ntent for a mm advertisment.</span>
        </span>
    </span>
</p>
Run Code Online (Sandbox Code Playgroud)

我认为我的问题是因为我用作起始分隔符的正则表达式.正如文档中的解释,我们应该在正则表达式中添加一个转义反斜杠的级别.这就是为什么我尝试这个正则表达式作为起始分隔符:<span style=\\\\?"color:([a-zA-Z\\s]*?)\\\\?">.还是行不通.我不知道如何告诉这个方法找到具有颜色样式属性的span和他的close标签之间的所有内容.

也许有人有解决方案?

html javascript regex xregexp

5
推荐指数
1
解决办法
401
查看次数


Angular ui路由器:双击更改状态

双击元素时是否可以更改状态?

我有一个视图里面有两个自定义视图.一个用于网格,一个用于表单.表单需要在URL中传递一些id才能知道要编辑的实体.我使用angular-ui-router来做到这一点,当我使用一个<a>元素时,它可以工作ui-sref.但是当我点击我网格的一行时,我希望实现相同的行为.

javascript angularjs angular-ui-router

1
推荐指数
1
解决办法
780
查看次数