[英]make callback for asynchronous function
我可以編寫一個回調函數,該函數將停止執行一個腳本,直到完成另一個腳本為止。 我在這里找到的。
dosomething(4, function () {
console.log("finished loop");
});
function dosomething(delay, callback) {
for (var i = 0; i < 100; i++) {
$("body").append(i + "<br>");
}
alert("done");
if (typeof callback == "function") callback();
}
但是,這不適用於異步功能。 我認為這就是原因。
doAjax(4, function () {
console.log("finished ajax");
});
function doAjax(delay, callback) {
$.ajax({
type: "post",
url: "/echo/html/",
data: {
html: "some content",
delay: 4
},
dataType: 'html',
success: function () {
console.log("ajax done");
}
});
if (typeof callback == "function") callback();
}
我知道問如何為異步請求合並我自己的回調有點愚蠢,因為jQuery內置了它們,而我只是使用了一個,但是我想知道如何實現。 它與編寫整個Promise庫一樣復雜嗎?
請求完成后,您不會再調用回調。
...
//HERE!
success: function(data){
if (typeof callback == "function") callback(null, data);
},
error: callback
...
//NOT BELOW
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.