在提出下面的功能之后,我的下一个任务就是让它每3秒循环一次。
Chat.fetch(function(x) // x is an array delivered by .fetch
{
for (var i = 0; i<x.length; i++)
{
Chat.display(x[i]); // and .display only takes strings as an argument
}
});
现在我的第一个初学者的想法是以某种方式将所有上述内容变成一个变量。
var myvariable = Chat.fetch(etc...
然后我会做类似
的事情setInterval(myvariable, 3000);
显然这没用。那个停止这种方法的功能是什么呢?
答案 0 :(得分:1)
我会提出一个不同的解决方案。
// define the callback function
var displayMessages = function(x) // x is an array delivered by .fetch
{
for (var i = 0; i<x.length; i++)
{
Chat.display(x[i]); // and .display only takes strings as an argument
}
// Ivoke Chat.fetch with this callback again after 3 seconds
setTimeout( function(){ Chat.fetch( displayMessages ); }, 3000 );
}
// start polling
Chat.fetch( displayMessages );
现在,每次调用回调时,它都会在先前的消息呈现后3秒后再次触发Chat.fetch
。