import libAsync = require("../.."); export = function(): void { console.info("The test for libAsync.control.retry started."); let i: number = 0; libAsync.retry(5, function(next: libAsync.RetryCallback, sequence: number): void { setTimeout(function(): void { console.info(`[control.retry] ${sequence > 0 ? `Retrying at ${++i}th time` : "working"}.`); if (i > 10) { next(); } else { next(new Error("Not yet")); } }, 10); }, function(err?: Error): void { if (err) { console.info("[control.retry] Has reached the maximum number of retries."); } else { console.info("[control.retry] Executed successfully."); } }); let t = 0; libAsync.retry(5, function(next: libAsync.RetryCallback, sequence: number): void { setTimeout(function(): void { console.info(`[control.retry] ${sequence > 0 ? `Retrying at ${++t}th time` : "working"}.`); if (t > 2) { next(new Error("Stopped"), true); } else { next(new Error("Not yet")); } }, 100); }, function(err?: Error): void { if (err) { console.error(`[control.retry] ${err.message}.`); } else { console.info("[control.retry] Executed successfully."); } }); };