Vik*_*rma 5 javascript asynchronous node.js async.js
async.retry({times : 25,interval : 30000},myFunction.bind(functionData),function(err,results){
console.log("===================================")
console.log("Async function finished processing")
return;
})
Run Code Online (Sandbox Code Playgroud)
立即调用myFunction,这也是默认值的5倍.电话之间也没有等待时间
重试取决于函数内的回调。如果回调的第一个参数不是假的,那么它将根据您的times和interval设置重试。例如:
var async = require('async');
var count = 0;
var functionData = { some: 'data' };
var myFunction = function(callback, results) {
console.log(++count);
process.nextTick(function() {
if (count < 5) { // Fail 5 times
return callback({ message: 'this failed' }, null);
}
callback(null, { message: 'this succeeded' });
});
};
async.retry({times : 25, interval : 1000}, myFunction.bind(functionData), function(err, results) {
console.log("===================================")
console.log("Async function finished processing")
return;
});
Run Code Online (Sandbox Code Playgroud)
这输出:
1
2
3
4
5
===================================
Async function finished processing
Run Code Online (Sandbox Code Playgroud)
每次尝试之间有 1 秒的间隔
| 归档时间: |
|
| 查看次数: |
4869 次 |
| 最近记录: |