Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I recently had to write a Promise.all, but using an object instead of an array.

That was... non-trivial.





If 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]> };

I'd call that bad pretty bad.

Without internet or AI I wouldn't attempt writing anything like that.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: