of receivers) {
await Notification.createHistory(
requester,
receiver,
this.ACTION,
message,
ENTITY_TYPES.GROUP_REQUEST,
request.id,
);
const badge = await Notification.userBadgeCounter(Number(receiver.id));
await Notification.send(
{
data: {
notification_tag: this.ACTION,
requester_id: `${requester.id}`,
},
notification: {
title: 'Askwho',
body: message,
badge,
},
},
[receiver.device_token],
);
}
Promise all выполнит промисы параллельно, а твой код выполняет их последовательно Тебе точно нужно сменить последовательность на параллельность т.е. на Promise.all?
ну мне нужно чтобы промис алл выполнил параллельно итерации цикла for..of, так как for...of дожидается конца итерации и только после этого переходит на следующую итерацию
у него результат след промиса зависит от превдущего
async function doWork(receiver) { await Notification.createHistory( requester, receiver, this.ACTION, message, ENTITY_TYPES.GROUP_REQUEST, request.id, ); const badge = await Notification.userBadgeCounter(Number(receiver.id)); await Notification.send( { data: { notification_tag: this.ACTION, requester_id: `${requester.id}`, }, notification: { title: 'Askwho', body: message, badge, }, }, [receiver.device_token], ); } Promise.all(receivers.map((receiver) => doWork(receiver)))
а там внутри точно await нужны?
ага
Если хочешь получить последовательность в рамках каждой отдельной интерации
По этому принцип написал код в другом месте, так будет работать?
Да вроде будет. А что смущает?
Обсуждают сегодня