我从一个API中获取数据,该API的每次调用限制为50条记录。我总共需要检索10,000条记录,因此可以通过offset参数使用分页来实现这一点。
我不太熟悉需要使用的语法,但我希望继续循环fetch,直到一次调用返回的记录数小于50,以表示最后一页。
我需要将来自每个调用的JSON响应附加到一起,再加上最后一个给我10,000的'count‘
let offset = 0
fetch(`https://api.opensea.io/api/v1/assets?collection=womenandweapons&format=json&offset=${offset}&limit=50&order_direction=desc`,
{
method: 'GET',
headers: {
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => {
let len = Object.keys(data.assets).length
console.log(len)
console.log(data.assets)
})
offset += 50发布于 2021-11-26 01:04:16
我有幸做过这样的事情:
const main = async () => {
const url = new URL(AIRTABLE_URL);
let data = await fetcher(url, AIRTABLE_API_KEY);
storiesTotal = mapData(data.records);
while (data.offset) {
data = await fetcher(url, AIRTABLE_API_KEY, data.offset);
storiesTotal = [...storiesTotal, ...mapData(data.records)];
}
}
main();https://stackoverflow.com/questions/69724003
复制相似问题