UNPKG

wundertec-core

Version:

Librería estándar de utilidades e integraciones AWS + helpers generales

22 lines (21 loc) 736 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.withTimeout = withTimeout; /** * Envuelve una promesa y la rechaza si no se completa en el tiempo especificado. * @param promise La promesa a envolver. * @param ms Tiempo límite en milisegundos. * @param error Opcional. Error con el que se rechaza en caso de timeout. */ function withTimeout(promise, ms, error) { let timeoutId; const timeoutPromise = new Promise((_, reject) => { timeoutId = setTimeout(() => { reject(error || new Error(`Operation timed out after ${ms}ms`)); }, ms); }); return Promise.race([ promise.finally(() => clearTimeout(timeoutId)), timeoutPromise, ]); }