Встроенное свойство (Map) в массиве Javascript — это чистая функция, которая берет каждый элемент массива и передает их в функцию обратного вызова на карте.

Это возвращает массив, значения которого совпадают со значениями, возвращаемыми функцией обратного вызова.

Что делать, если функция обратного вызова не является синхронной?

Мы все используем функцию карты в JavaScript много раз. Однако в некоторых случаях нам приходится использовать асинхронную функцию внутри функции карты.

Размещение ключевого слова await непосредственно перед функцией карты нецелесообразно, поскольку функция карты не возвращает обещание. Он всегда возвращает массив.

В таких случаях мы должны использовать функцию Promise.all(). Он принимает массив в качестве аргумента и возвращает обещание. Когда все значения в массиве аргументов устанавливаются, устанавливается только обещание возврата. Если все значения получают разрешение, то разрешается только обещание, иначе обещание отклоняется.

Promise.all(array) просто преобразует массив в обещание.

Пример кода:

let double = async (value) =› return (wait value * 2);

пусть пример = [1, 2, 3, 4, 5];

пример = пример.карта (двойной);

пример = ожидание Promise.all (пример);

пример возврата;