Как я могу получить URL-адреса последовательно? - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть массив, который содержит URL-адреса. Во-первых, мне нужно получить первый и второй URL-адреса одновременно, и когда один из них будет решен, я получу следующий URL-адрес. Повторите, пока все URL не будут получены. Как я могу это сделать ?

1 Ответ

0 голосов
/ 10 ноября 2019

Вы не показываете никакого кода, поэтому я должен предоставить общий пример. fetch() возвращает обещание. Если вы хотите запустить цикл, последовательно ожидая обещание каждой операции fetch(), то самый простой способ сделать это с помощью async и await:

async function someFunc(array) {
    for (let item of array) {
        let result = await fetch(/* pass arguments here using item */);
        // process result here
    }
    return someValue;    // this becomes the resolved value of the promise
                         // the async function returns
}

// usage
// all async functions return a promise
// use .then() on the promise to get the resolved value
someFunc(someArray).then(results => {
    console.log(results);
}).catch(err => {
    console.log(err);
});
...