Вторая Promise.all()
отображает все успешные ответы в JSON.
Поскольку Response.json()
сама возвращает обещание, результирующий массив из responses.map(...)
может выглядеть примерно как
[ error, Promise<Object>, Promise<Object>, error, Promise<Object> ]
Чтобы дождаться разрешения всех обещаний json()
, необходимо использовать секунду Promise.all()
.
Необещания в массиве будут обрабатываться как Promise.resolve(item)
Обратите внимание, что этот код может быть написан гораздо более кратко (см. Другие ответы).Этот ответ скорее «почему код такой, какой он есть» ?