[英]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.