Files
blitzkit/packages/website-ue/src/hooks/useAwait.ts
T

19 lines
386 B
TypeScript
Raw Normal View History

2025-11-30 22:12:46 -06:00
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);
}