最佳答案
我有一个循环,它调用一个异步执行的方法。这个循环可以多次调用该方法。在这个循环之后,我还有另一个循环,只有在完成所有异步操作之后才需要执行。
这就是我想要的:
for (i = 0; i < 5; i++) {
doSomeAsyncStuff();
}
for (i = 0; i < 5; i++) {
doSomeStuffOnlyWhenTheAsyncStuffIsFinish();
}
我不是很熟悉承诺,所以谁能帮我实现这个?
我的 doSomeAsyncStuff()
是这样运作的:
function doSomeAsyncStuff() {
var editor = generateCKEditor();
editor.on('instanceReady', function(evt) {
doSomeStuff();
// There should be the resolve() of the promises I think.
})
}
也许我应该这么做:
function doSomeAsyncStuff() {
var editor = generateCKEditor();
return new Promise(function(resolve,refuse) {
editor.on('instanceReady', function(evt) {
doSomeStuff();
resolve(true);
});
});
}
但我不确定语法。