UNPKG

@4players/odin-common

Version:

A collection of commonly used type definitions and utility functions across ODIN web projects

23 lines (22 loc) 686 B
export function sleep(ms, value) { if (ms <= 0) { return Promise.resolve(value); } return new Promise((resolve) => setTimeout(() => resolve(value), ms)); } export function abortableSleep(ms, signal) { if (signal.aborted) { return Promise.resolve('aborted'); } return new Promise((resolve) => { const onAbort = () => resolve('aborted'); signal.addEventListener('abort', onAbort, { once: true }); setTimeout(() => { signal.removeEventListener('abort', onAbort); resolve(undefined); }, ms); }); } export function nextTick() { return new Promise((resolve) => setTimeout(resolve, 0)); }