@rtorcato/js-common / promises
promises
Functions
to()
to<
T>(promise):Promise<[unknown,T|undefined]>
Defined in: promises/index.ts:19
Wraps a promise and returns a tuple [error, result].
The error slot is unknown — narrow it at the call site before touching its properties.
Example
const [err, value] = await to(Promise.resolve(42))
// err = null, value = 42
const [err2, value2] = await to(Promise.reject(new Error('boom')))
const message = err2 instanceof Error ? err2.message : String(err2)
// message = 'boom', value2 = undefined
Type Parameters
T
T
Parameters
promise
Promise<T>
The promise to wrap.
Returns
Promise<[unknown, T | undefined]>
withTimeout()
withTimeout<
T>(promise,ms,error?):Promise<T>
Defined in: promises/index.ts:42
Returns a promise that rejects after a timeout if the input promise does not resolve.
Example
await withTimeout(delay(10).then(() => 'fast'), 100) // 'fast'
await withTimeout(delay(500), 100) // rejects with Error('Timeout')
Type Parameters
T
T
Parameters
promise
Promise<T>
The promise to race.
ms
number
Timeout in milliseconds.
error?
any = ...
Optional error to throw on timeout.
Returns
Promise<T>