UNPKG

async-wrappers

Version:

A set of wrapper functions to perform debouncing, throttling, retrying etc.

35 lines (31 loc) 617 B
/** * @internal */ var throwSettled = () => { throw new Error('pending cannot be changed after it has settled'); }; /** * Used to hold a pending result * @internal */ /** * create a waiting empty result * @internal */ var pending = () => { var value = {}; value.promise = new Promise((resolve, reject) => { value.complete = arg => { resolve(arg); reject = resolve = throwSettled; return value.promise; }; value.error = err => { reject(err); reject = resolve = throwSettled; return value.promise; }; }); return value; }; export default pending;