簡體   English   中英

在Ajax調用完成后運行一個函數

[英]Run a function after an Ajax call has completed

我不知道為什么會發生某種事情。 我有這三個功能:

app.progress();
app.success();
app.normal();

這三個都更改了我的應用程序中的狀態塊。 我在其他功能之一中有這個$.post ,可以這樣說:

app.set : function() {
  ...
}

在我的set函數中,我想更新狀態塊,如下所示:

app.set : function() {
    app.progress();
    $.post('ajax.php', function(){
        // do stuffs
    }).done({function(){
        app.success();
        setTimeout(app.normal(), '2000');
    })
}

但是以某種方式,我看不到app.success ,它跳到app.normal ,當我刪除app.normal我可以看到app.success

這是為什么?

您正在立即調用app.normal ,因為在將括號添加到函數時會發生以下情況:

setTimeout(app.normal(), '2000');

setTimeout(app.normal, 2000);

引用函數而不是調用它。

暫無
暫無

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

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