@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.
22 lines • 631 B
JavaScript
/**
* @module Async
*/
import { TimeoutAsyncError } from "../../../async/async.errors.js";
import { abortAndFail } from "../../../async/utilities/abort-and-fail/_module.js";
/**
* @throws {TimeoutAsyncError} {@link TimeoutAsyncError}
*
* @internal
*/
export async function timeoutAndFail(promise, time, abort, signal) {
const timeoutId = setTimeout(() => {
abort(new TimeoutAsyncError("The promise exceded time"));
}, time.toMilliseconds());
try {
return await abortAndFail(promise, signal);
}
finally {
clearTimeout(timeoutId);
}
}
//# sourceMappingURL=timeout-and-fail.js.map