我试图在功能中间暂停一段给定的时间(5秒)
这是我尝试过的方法,但是不起作用
(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不是我想要的,但是我不确定还要使用什么
最佳答案
更改标记显示为:
function markDisplayed(id) {
setTimeout(function() {
$.post("/api/messages/markdisplayed" + id);
console.log("Marking displayed");
}, 5000);
}
这将导致该函数等待五秒钟,然后执行其中的内容。