gpt4 book ai didi

javascript - 使用 Promise.all

转载 作者:行者123 更新时间:2023-12-03 03:21:25 28 4
gpt4 key购买 nike

首先,如果这是一个简单的问题需要解决,但我是第一次使用 node-fetch 和 Promises 的概念,我深表歉意。我正在调用一个返回分页数据的 api 端点,因此我可以获得更多数据的多个链接。

我通过将所有链接放入一个数组中来处理这个问题,然后我想调用数组中的每个端点,然后暂时将数据打印到控制台

所以我的第一个电话是

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);
});

因此,一旦完成此操作,我就有了一组需要按顺序点击的网址,有人可以给我一些指示,告诉我如何设置点击每个网址的 promise 吗?或者我可以在 for 循环中的哪里做一些事情吗?

谢谢

最佳答案

抱歉,如果这是错误的!

在开头,输入:

var promise_array = [];

在for循环中,替换为

for (i = 2; i < number_of_pages + 1; i++) {
var url = `${BASE_URL}?page=${i}&api_token=${AUTH_TOKEN}`;
urlArray.push(url);
promise_array.push(fetch(url));
}

在函数末尾放置

Promise.all(promise_array).then(all_responses => {
// .. pluck json, then continue ...
});

关于javascript - 使用 Promise.all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46561153/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com