簡體   English   中英

javascript:等待異步完成

[英]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 可能是最好的主意,但使用它們可能有點乏味。 使用諸如bluebirdQ 之類的第三方庫可以使使用它們變得更加容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM