UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

28 lines (26 loc) 649 B
export const cancelable_timeout = (callback, lapse) => { let canceled = false setTimeout(() => { if (!canceled) { callback() } }, lapse) return { cancel: () => { canceled = true }, } } export const cancelable_promise = (constructor) => { let canceled = false return { promise: new Promise((resolve, reject) => { let promise = new Promise(constructor) promise.then((data) => canceled ? reject({error: "canceled", data}) : resolve(data)) promise.catch((data) => canceled ? reject({error: "canceled", data}) : reject(data)) }), cancel: () => { canceled = true }, } }