JavaScript';s设置间隔和功能完成的时间
我需要在node.js服务器上运行一个函数,每15分钟完成一次相同的任务。 我使用了setInterval,如这里的示例3-。 所以,我得到了这样的东西:JavaScript';s设置间隔和功能完成的时间,javascript,node.js,callback,setinterval,Javascript,Node.js,Callback,Setinterval,我需要在node.js服务器上运行一个函数,每15分钟完成一次相同的任务。 我使用了setInterval,如这里的示例3-。 所以,我得到了这样的东西: exports.start = function (list, callback){ setInterval(stuffTop.loadstuff, 900000, list, function (parsedList) { // CODE STUFF HERE /
exports.start = function (list, callback){
setInterval(stuffTop.loadstuff, 900000, list, function (parsedList) {
// CODE STUFF HERE
// THEN THE CALLBACK.
callback(parsedDynamicList);
});
}
exports.start = function (list, callback){
var foo = function () {
stuffTop.loadstuff(list, function(parsedList) {
//CODE STUFF HERE
//THEN THE CALLBACK
callback(parsedDynamicList);
setTimeout(foo,900000);
});
}
foo();
}
事实上,这个功能可以正常工作,但是这个功能是第一次完成的-只有在900000毫秒之后。
调用时是否有使函数完整(在第一轮中)-直接的选项?谢谢。使用一个递归调用自身的函数:
foo = function(){
doStuff()
setTimeout(foo,900000)
}
在您的情况下,它将如下所示:
exports.start = function (list, callback){
setInterval(stuffTop.loadstuff, 900000, list, function (parsedList) {
// CODE STUFF HERE
// THEN THE CALLBACK.
callback(parsedDynamicList);
});
}
exports.start = function (list, callback){
var foo = function () {
stuffTop.loadstuff(list, function(parsedList) {
//CODE STUFF HERE
//THEN THE CALLBACK
callback(parsedDynamicList);
setTimeout(foo,900000);
});
}
foo();
}
使用递归调用自身的函数:
foo = function(){
doStuff()
setTimeout(foo,900000)
}
在您的情况下,它将如下所示:
exports.start = function (list, callback){
setInterval(stuffTop.loadstuff, 900000, list, function (parsedList) {
// CODE STUFF HERE
// THEN THE CALLBACK.
callback(parsedDynamicList);
});
}
exports.start = function (list, callback){
var foo = function () {
stuffTop.loadstuff(list, function(parsedList) {
//CODE STUFF HERE
//THEN THE CALLBACK
callback(parsedDynamicList);
setTimeout(foo,900000);
});
}
foo();
}
你问题的答案很简单。在进入setInterval之前调用该函数。像这样:
var callback=function(){}
var list=['some','list'];
var repeaterFunction = function(){console.log("do now!")}
var start = function (list, callback){
repeaterFunction();
var repeater = setInterval(repeaterFunction, 5000, list, function(parsedList){
// CODE STUFF HERE
// THEN THE CALLBACK.
callback(parsedDynamicList);
});
}
start()
我使用var repeater=setInterval(…
这一事实允许clearInterval(repeater)
在您希望的任何时候使用
以下是问题的解决方案很简单。在进入setInterval之前调用该函数。如下所示:
var callback=function(){}
var list=['some','list'];
var repeaterFunction = function(){console.log("do now!")}
var start = function (list, callback){
repeaterFunction();
var repeater = setInterval(repeaterFunction, 5000, list, function(parsedList){
// CODE STUFF HERE
// THEN THE CALLBACK.
callback(parsedDynamicList);
});
}
start()
我使用var repeater=setInterval(…
这一事实允许clearInterval(repeater)
在您希望的任何时候使用
这里是Is
stuffTop.loadstuff
synchronous?它是另一个接受回调的函数,所以如果我理解正确,答案是否定的……我被setInterval
的四个参数弄糊涂了,这通常需要两个参数。所以,只要看看我附加的链接……IsstuffTop.loadstuff
synchronous?它是一个另一个接受回调的函数,因此如果我理解正确,答案是否定的。我对setInterval
的四个参数感到困惑,这通常需要两个参数。因此,请看一下我附加的链接。。。