在执行下一个之前,你如何等待asynch调用comlete?
function fx1() {
setTimeout(function () {
alert("1");
}, 2000);
fx1().done(function () {
fx2();
}
}
function fx2() {
alert("2");
}

答案 0 :(得分:0)
您可以手动为函数提供回调:
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");
});
使用promises可能是最好的主意,但使用它们可能有点单调乏味。使用bluebird或Q等第三方库可以更轻松地使用它们。