All*_*ore 5 javascript node.js ecmascript-6
使用 node.js 版本 7.7.2,我想在第一个函数完成后执行一个异步函数,然后执行一个不同的函数,如下所示:
function foo() {
return new Promise(function(resolve, reject) {
// Do some async stuff
console.log('foo is about to resolve');
resolve();
});
}
function bar(arg) {
console.log(arg);
}
foo().then(bar('bar has fired'));Run Code Online (Sandbox Code Playgroud)
问题是此设置会打印“bar 已触发”,然后是“foo 即将解决”。我期望的是 bar 会等到 foo 返回的承诺解决后才会触发。我是否误解 then() 如何在 node.js 事件循环中排队回调?
谢谢
正如评论中所述,将一个函数传递给then该函数,当调用该函数时,该函数将bar使用您的参数进行调用。
function foo() {
return new Promise(function(resolve, reject) {
// Do some async stuff
console.log('foo is about to resolve');
resolve();
});
}
function bar(arg) {
console.log(arg);
}
foo().then(function(){bar('bar has fired')});Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3408 次 |
| 最近记录: |