我想在另外两个异步函数(updateDocument1& 2)完成后调用函数[addUp()]。两个异步函数之后的回调似乎对我不起作用....
/*Two asynchronous functions are now called, they both update the
the same document*/
updateDocument1();
updateDoucment2();
/* after this has been completed, I would like to call the final function
which adds two keys together of the updated document*/
addUp();
我非常感谢您提供的各种建议/链接/解决方案。 非常感谢。
答案 0 :(得分:2)
你应该使用promises,MDN docs:
var promise1 = Promise.resolve(3);
var promise2 = 42;
var promise3 = new Promise(function(resolve, reject) {
setTimeout(resolve, 100, 'foo');
});
Promise.all([promise1, promise2, promise3]).then(function(values) {
console.log(values);
});
// expected output: Array [3, 42, "foo"]
您也可以执行异步/等待,但无论如何都是建立在承诺之上的。
async function updateDocument1() {
//logic;
}
async function updateDocument2() {
//logic;
}
await updateDocument1();
await updateDocument2();
addUp();
或
await Promise.all([updateDocument1(), updateDocument2()]);