Jam*_*son 7 javascript setinterval
我想定期查询PHP脚本以获取新消息.为此,我使用了setInterval()函数和AJAX.
$(document).ready(function(){
    var queryInterval = 1000; /* How fast we query for new messages */
    setInterval(getMessages(), queryInterval);
    function getMessages() {
        console.log("tick");
    }
});
但是,当我查看Javascript控制台时,我只看到"滴答"一次.我确保控制台不会再忽略相同字符串的日志,所以如果代码工作正常,它应该每秒在控制台中显示"tick".
谁知道这里可能出现什么问题?
qwe*_*ymk 24
更改:
setInterval(getMessages(), queryInterval);
至:
setInterval(getMessages, queryInterval);
实际上,setInterval根本没有运行getMessages(甚至没有运行).setInterval期望对函数的引用,但是您正在立即执行该getMessages函数并将其返回值传递给(即).这就是后来的事情.setIntervalundefinedgetMessage
传递这样的引用setInterval:
setInterval(getMessages, queryInterval);
如果这是唯一使用的地方getMessages,那么你也可以像这样写:
setInterval(function() {
    console.log("tick");
}, queryInterval);
| 归档时间: | 
 | 
| 查看次数: | 17312 次 | 
| 最近记录: |