Переписываю код с map на reduce, т.к. нужен на выходе не массив, а объект.
const jobQueue = ['one', 'two']
const foundJobs = jobQueue.reduce(async (obj, queue) => {
const delayedJobs = await backgroundJobs[queue].getJobs(['delayed']);
const waitingJobs = await backgroundJobs[queue].getJobs(['waiting']);
const completedJobs = await backgroundJobs[queue].getJobs(['completed']);
const activeJobs = await backgroundJobs[queue].getJobs(['active']);
obj[queue] = {
active: activeJobs,
completed: completedJobs,
waiting: waitingJobs,
delayed: delayedJobs,
};
return obj;
}, {});
С мапом было все ок, я просто дожидался результата
await Promise.all(foundJobs)
. С reduce это не работает, потмоу что объект на выходе. Как решить эту задачу?