我想在一个函数中暂停一段特定时期的中间暂停(5秒)在javascript函数
这是我尝试过,但它不工作
(function MessagesAjax() {
$.post('/api/messages/get', function(data) {
for (var i = 0; i < data.length; i++) {
$.jGrowl(data[i].Body.toString().substring(0, 150), { header: 'New Message', sticky: true, });
markDisplayed(data[i].Id);
}
setTimeout(MessagesAjax, 5000);
});
})();
function markDisplayed(id) {
setTimeout(5000); //want it to pause here
$.post("/api/messages/markdisplayed" + id);
console.log("Marking displayed");
}
我只需要它暂停所以之前的帖子被发送回服务器
我几乎可以肯定的setTimeout是不是我想要的延迟,但我不知道该用什么其他
['setTimeout(callback,delay)'](https://developer.mozilla.org/en/DOM/window.setTimeout)将等待给定时间'delay',然后执行'callback'。它不会延迟当前的脚本,而是会为事件循环的队列添加'callback'(或类似的东西)。 – Zeta 2012-07-30 16:03:21