我想在node.js中调用一个函数,但是该函数很可能在回调中出错,我想知道最好的方法来重复此函数指定的时间。
这样足够好还是更好?
var numberOfRetrials = 0;
do{
send_bus(15, function(err){ // send_bus is synchronus function
check = err;
});
numberOfRetrials++;
} while( (check != null) && (numberOfRetrials <3) );
最佳答案
尝试:
var numberOfRetrials = 0;
var task = function () {
send_bus(15, function(err){
if(err && numberOfRetrials++ <3){
task();
}
});
};
task();
这将适用于同步或异步任务功能。这是一个递归函数,具有基于计数器的退出条件。