Files
blitzkit/packages/website-ue/src/hooks/useAwait.ts
T
2025-11-30 22:12:46 -06:00

20 lines
386 B
TypeScript

import { use } from "react";
const cache = new Map<string, Promise<unknown>>();
export function useAwait<Type>(
creator: () => Promise<Type>,
discriminator: string
) {
let promise;
if (cache.has(discriminator)) {
promise = cache.get(discriminator) as Promise<Type>;
} else {
promise = creator();
cache.set(discriminator, promise);
}
return use(promise);
}