mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
13 lines
253 B
TypeScript
13 lines
253 B
TypeScript
export const createMemoizedPromise = <T>(fn: () => Promise<T>, preload = true): () => Promise<T> => {
|
|
let promise: Promise<T> | null = null;
|
|
|
|
if (preload) {
|
|
promise = fn();
|
|
}
|
|
|
|
return () => {
|
|
promise ??= fn();
|
|
return promise;
|
|
};
|
|
};
|