feat: add createDeferrablePromise utility function

This commit is contained in:
2025-11-27 20:35:14 +08:00
parent e17a9591e1
commit b0bcd64b41

View File

@@ -81,4 +81,20 @@ export function markAsPublicMethod<T extends Function | Record<any, unknown> | u
markAs(obj);
return obj;
}
export function createDeferrablePromise<T = unknown>() {
let resolve!: (value: T | PromiseLike<T>) => void;
let reject!: (reason?: unknown) => void;
const promise = new Promise<T>((res, rej) => {
resolve = res;
reject = rej;
});
return {
promise,
resolve,
reject
};
}