UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

23 lines 749 B
/** * @module Resilience */ import { TimeoutResilienceError } from "../../../resilience/resilience.errors.js"; import { abortAndFail } from "../../../resilience/utilities/abort-and-fail/_module.js"; import { TO_MILLISECONDS, } from "../../../time-span/contracts/_module.js"; /** * @throws {TimeoutResilienceError} {@link TimeoutResilienceError} * * @internal */ export async function timeoutAndFail(promise, time, abort, signal) { const timeoutId = setTimeout(() => { abort(new TimeoutResilienceError("The promise exceded time")); }, time[TO_MILLISECONDS]()); try { return await abortAndFail(promise, signal); } finally { clearTimeout(timeoutId); } } //# sourceMappingURL=timeout-and-fail.js.map