【发布时间】:2018-04-19 22:00:01
【问题描述】:
我有一个使用一些异步函数的节点应用程序。
在继续应用程序流程的其余部分之前,我该如何等待异步函数完成?
下面是一个简单的例子。
var a = 0;
var b = 1;
a = a + b;
// this async function requires at least 30 sec
myAsyncFunction({}, function(data, err) {
a = 5;
});
// TODO wait for async function
console.log(a); // it must be 5 and not 1
return a;
在示例中,要返回的元素“a”必须是 5 而不是 1。如果应用程序不等待异步函数,则它等于 1。
谢谢
【问题讨论】:
-
伟大而有用的评论
-
是的,promise 和
async/await语法糖——正如你在标签中建议的那样——是要走的路。您是否尝试将它们应用于您的问题?请展示你的努力。
标签: javascript node.js asynchronous promise async-await