[英]javascript: wait for async to complete
在執行下一個之前,你如何等待一個異步調用來完成?
function fx1() { setTimeout(function () { alert("1"); }, 2000); fx1().done(function () { fx2(); } } function fx2() { alert("2"); }
您可以手動為該函數提供回調:
function f1(callback) {
setTimeout(function() {
alert("1");
callback();
}, 2000);
f1(function() {
alert("2");
});
或者使用承諾:
var promise = new Promise(function(resolve, reject) {
setTimeout(function() {
alert("1");
resolve();
}, 2000);
};
promise.then(function() {
alert("2");
});
使用 Promise 可能是最好的主意,但使用它們可能有點乏味。 使用諸如bluebird或Q 之類的第三方庫可以使使用它們變得更加容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.