我想在一個函數中暫停一段特定時期的中間暫停(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