Источник: Nuances of Programming Задача Функционал массового редактирования позволяет выбрать несколько записей и редактировать все одновременно. Но изменение более чем 50 записей может занять до 50 секунд, и страница зависает. Ожидание сбивает с толку пользователей, и те часто спешат уйти со страницы. Нужно ускорить такое редактирование. Откуда это замедление? Код написан так: for (r in records) {
await update(r);
} При изменении одной записи делается API-вызов, на который уходит от 500 мс до 1 сек. Поскольку записи перебираются и изменяются одна за другой, это время увеличивается линейно — по мере роста их числа. Промис для ускорения К счастью, не нужно ждать завершения изменения, прежде чем обработать следующее. Promise.allSettled() позволяет делать запрос его изменения до завершения предыдущего. Вот что мы сделали: const allPromises = [];
for (r in records) {
const promise = update(r);
allPromises.push(promise);
};
await Promise.allSettled(allPromises); Проиллюстрируем то