【发布时间】:2017-05-28 23:00:24
【问题描述】:
我有几个函数应该在循环和延迟中一一执行。这是我的代码:
function func1() {
for (var i = 0; i < 3; i++) {
func2().then(); // await in loop until func2() completed
}
}
function func2() {
return new Promise(succes) {
for (var i = 0; i < 10; i++) {
function3().then(); //wait untill function3 and then continue looping
}
success();
}
}
function function3() {
return new Promise(function(ready) {
setTimeout(function() {
// do some stuff
ready();
}, 2000);
});
}
但它不起作用。我应该改变什么?
【问题讨论】:
-
查看同步和异步操作的区别。 stackoverflow.com/questions/16336367/…
-
承诺不同步
-
我认为 then() 与.net await 运算符类似。但它不是
-
另外
.then()用于将回调附加到promise。在没有参数的情况下单独使用.then()只会再次返回相同的承诺。见:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript jquery promise ecmascript-6 es6-promise