Как параллелизировать асинхронные звонки в ожидании назначения имущества?Javascript

Форум по Javascript
Anonymous
Как параллелизировать асинхронные звонки в ожидании назначения имущества?

Сообщение Anonymous »

Я попал в контрольно -пропускной пункт с параллельной обработкой асинхронных методов. В частности, в следующем коде я жду обещания каждого чата решить последовательно, что в конечном итоге становится медленным: < /p>

Код: Выделить всё

for (const member of response.chatMembers) {
const chat: ChatsDto = member.chat;
if (!chat.isGroup) {
const secondUser = chat.chatMembers[0]?.user;
if (!secondUser) throw new NotFoundException('Other user not found');
chat.isOnline = await this.utilGateway.isUserOnline(secondUser.id);
}
}

< /code>
Я попытался использовать Order.all, но я не могу назначить чат.isonline, не ожидая функции isuseronline. В результате обещание. Все, похоже, не помогает в этом случае: < /p>
const chats = await Promise.all(
t2.map(async (member) => {
const chat: ChatsDto = member.chat;
if (!chat.isGroup) {
const secondUser = chat.chatMembers[0]?.user;
if (!secondUser) throw new NotFoundException('Other user not found');
chat.isOnline = await this.utilGateway.isUserOnline(secondUser.id);
}
})
);
Я не мог найти никаких решений в Интернете, поэтому я буду признателен за любыми советами от более опытных разработчиков JS.


Подробнее здесь: https://stackoverflow.com/questions/796 ... assignment

Вернуться в «Javascript»