首先道歉,如果这是一个简单的问题来解决,但我第一次使用node-fetch
和承诺的概念。我正在调用一个返回分页数据的API端点,所以我得到了多个链接以获取更多数据。使用Promise.all
我感到把所有的链接到一个数组处理这个,然后我想打电话给每个端点的阵列中,只是打印出来的数据到控制台现在
所以我的第一个电话是
var urlArray = [];
fetch(`${BASE_URL}/leagues?api_token=${AUTH_TOKEN}`, { headers: headers })
.then(function(response){
return response.json(); // pass the data as promise to next then block
})
.then(function(json){
// Collect Paginated Results
var number_of_pages = parseInt(json.meta['pagination']['total_pages']);
for (i = 2; i < number_of_pages + 1; i++) {
urlArray.push(`${BASE_URL}?page=${i}&api_token=${AUTH_TOKEN}`)
}
})
.catch(function(error) {
console.log(error);
});
因此,一旦这样做了,我有一个需要按顺序点击的网址数组,请问谁能给我一些指示,然后设置一个承诺,以击中每一个?或者我可以在我的循环中做些什么?
谢谢
[解析承诺一个接一个(即序列)?(HTTPS的可能重复: //stackoverflow.com/questions/24586110/resolve-promises-one-after-another-ie-in-sequence) – alexmac
创建一个将一个url作为参数的函数,并返回所需结果的承诺。然后递归地调用它。 – Bergi