0

发生了一些我不知道为什么会发生的事情。我有这 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

这是为什么?

4

1 回答 1

6

您正在app.normal立即调用,因为当您将括号添加到函数时会发生这种情况,请更改以下内容:

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

setTimeout(app.normal, 2000);

引用函数而不是调用它。

于 2013-04-30T17:46:45.993 回答