重試取決於您的功能中的回調。如果回調的第一個參數不是虛假的,那麼它將根據您的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;
});
此輸出:
1
2
3
4
5
===================================
Async function finished processing
每次嘗試
你能顯示'myFunction'的代碼嗎? – Robbie