有些事情我不知道为什么会发生。我有这3个功能:
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
。
为什么?
答案 0 :(得分:6)
你正在调用app.normal
,因为当你将一个括号添加到一个函数时会发生这种情况,改变这个:
setTimeout(app.normal(), '2000');
到
setTimeout(app.normal, 2000);
引用该函数而不是调用它。