@sybil-center/zkc-core
Version:
Work with sybil-center ZKC
22 lines • 1.53 kB
JavaScript
export function repeatUtil(shouldStop, betweenMS, fn) {
return new Promise(async (resolve) => {
let shouldProceed = true;
while (shouldProceed) {
const result = await execute(fn);
if (shouldStop(result)) {
shouldProceed = false;
return resolve(result);
}
await new Promise((resolve1) => setTimeout(resolve1, betweenMS));
}
});
}
async function execute(fn) {
try {
return await fn();
}
catch (e) {
return e;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJ1dGlsL3JlcGVhdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxVQUFVLENBQ3hCLFVBQXFDLEVBQ3JDLFNBQWlCLEVBQ2pCLEVBQW9CO0lBRXBCLE9BQU8sSUFBSSxPQUFPLENBQVksS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzlDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQztRQUN6QixPQUFPLGFBQWEsRUFBRTtZQUNwQixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdEIsYUFBYSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDeEI7WUFDRCxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsT0FBTyxDQUNwQixFQUFvQjtJQUVwQixJQUFJO1FBQ0YsT0FBTyxNQUFNLEVBQUUsRUFBRSxDQUFDO0tBQ25CO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLENBQVUsQ0FBQztLQUNuQjtBQUNILENBQUMifQ==