使用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'));
问题是此安装程序打印“栏已被开除”,然后打印“foo将要解决”。我期望的是,bar将等待触发,直到foo返回的promise被解决为止。我是否误解了then()如何将回调在node.js事件循环中排队?
谢谢
如注释中所述,将一个函数传递给该函数then,当该函数被调用时,将bar使用您的params进行调用。
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')});