У меня есть функция, которая принимает массив URL-адресов и загружает их. Это выглядит так:
const loadFiles = filePaths => {
return new Promise((resolve, reject) => {
let fetchPromises = filePaths.map(filePath => fetch(filePath))
Promise.all(fetchPromises).then(fetchResolves => {
let textPromises = []
fetchResolves.forEach(fetchResolve => {
if (!fetchResolve.ok) {
return reject(`${fetchResolve.statusText} : ${unescape(fetchResolve.url)}`)
}
textPromises.push(fetchResolve.text())
})
Promise.all(textPromises).then(resolve)
})
})
}
export {loadFiles}
Проблема, с которой я сталкиваюсь, заключается в том, что несколько вызовов Promise.all
начинают напоминать обратные вызовы, хотя я использую обещания.
Есть ли способ сопоставить функциональность Promise.all
с async
и await
, чтобы упростить эту функцию?
Как мне это сделать?