4 ms·
I recently had to write a Promise.all, but using an object instead of an array. That was... non-trivial.
by miki123211 11mo ago
I recently had to write a Promise.all, but using an object instead of an array.
That was... non-trivial.
- hdjrudni 11mo agoIf it's what I'm thinking, that one isn't too bad. I wrote it awhile back: export async function promiseAll<T extends Record<string, Promise<any>>>(promises: T): Promise<{ [K in keyof T]: Awaited<T[K]> }> { const keys = Object.keys(promises) as Array<keyof T>; const result = await Promise.all(keys.map(key => promises[key])); return Object.fromEntries(result.map((value, i) => [keys[i], value])) as { [K in keyof T]: Awaited<T[K]> };
- atsjie 11mo agoI'd call that bad pretty bad. Without internet or AI I wouldn't attempt writing anything like that.
- ruined 11mo agorejoice https://github.com/tc39/proposal-await-dictionary https://github.com/tc39/proposal-await-dictionary