feat(utils): add resolveAfter util

This commit is contained in:
Carlos Garcia Ortiz karliatto
2024-12-10 07:27:59 +01:00
committed by martin
parent e8bd8b65fa
commit 5913011798
2 changed files with 12 additions and 0 deletions

View File

@@ -49,3 +49,4 @@ export * from './throttler';
export * from './extractUrlsFromText';
export * from './isFullPath';
export * from './asciiUtils';
export * from './resolveAfter';

View File

@@ -0,0 +1,11 @@
import { createDeferred } from './createDeferred';
export const resolveAfter = <T = void>(msec: number, value?: T) => {
const { promise, reject, resolve } = createDeferred<T>();
const timeout = setTimeout(resolve, msec, value);
return {
promise: promise.finally(() => clearTimeout(timeout)),
reject,
};
};