| Server IP : 162.19.112.25 / Your IP : 216.73.216.88 Web Server : LiteSpeed System : Linux qamar.tasjeel.ae 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64 User : archiart ( 1428) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/lib/node_modules/npm/node_modules/retry/example/ |
Upload File : |
var retry = require('../lib/retry');
function attemptAsyncOperation(someInput, cb) {
var opts = {
retries: 2,
factor: 2,
minTimeout: 1 * 1000,
maxTimeout: 2 * 1000,
randomize: true
};
var operation = retry.operation(opts);
operation.attempt(function(currentAttempt) {
failingAsyncOperation(someInput, function(err, result) {
if (err && err.message === 'A fatal error') {
operation.stop();
return cb(err);
}
if (operation.retry(err)) {
return;
}
cb(operation.mainError(), operation.errors(), result);
});
});
}
attemptAsyncOperation('test input', function(err, errors, result) {
console.warn('err:');
console.log(err);
console.warn('result:');
console.log(result);
});
function failingAsyncOperation(input, cb) {
return setImmediate(cb.bind(null, new Error('A fatal error')));
}