有没有办法找出函数何时完成。我需要运行另一个函数,但只能在一个函数完成后运行。像这样......
$(document).ready(function(){});
除了功能而不是文档。
答案 0 :(得分:9)
以下是承诺的示例(它有成功(解决),拒绝(出错)):
var promise = new Promise(function(resolve, reject) {
// do a thing, possibly async, then…
if (/* everything is OK */) {
resolve("Stuff worked!");
}
else { // something went wrong
reject(Error("It broke"));
}
});
你这样使用它:
promise.then(function(result) {
console.log(result); // "Stuff worked!"
}, function(err) {
console.log(err); // Error: "It broke"
});
以下是回调:
的示例function giveMeAlert(callback) {
alert('I am main function');
callback();
}
giveMeAlert(function() {
alert('I am a callback function.');
});
答案 1 :(得分:0)
你也可以像这样使用jQuery:
var myPromise = function() {
var dfd = $.deferred();
if (/* this i ok*/) {
dfd.resolve( /* somthing to send with the result */ );
} else {
dfd.reject( /* somthing to send with the result */);
}
return dfd.promise();
}
myPromise().then(function succsses( /* the message*/ ) {
},
function fail(/* the message*/ ) {
});