@dvcol/common-utils
Version:
Typescript library for common utility functions and constants
24 lines (22 loc) • 558 B
JavaScript
// lib/common/utils/promise.utils.ts
var wait = (ms) => new Promise((resolve) => {
setTimeout(resolve, ms);
});
function raceUntil(promises, cb = (r) => r !== void 0) {
const { promise: outer, resolve, reject } = Promise.withResolvers();
const _promises = promises.map(
(p) => p.then((result) => {
if (cb(result)) resolve(result);
return result;
})
);
const inner = Promise.all(_promises).catch(reject).then((result) => {
resolve(null);
return result;
});
return { inner, outer };
}
export {
wait,
raceUntil
};