我有一个函数,它获取 ID 列表,将它们转换为数组 URL,然后使用 map 函数来触发获取请求。它工作得很好,但启动速度太快,并且提供者会抛出错误,因为我们太频繁地访问 API。我需要为请求设置一个时间间隔,但每次这样做都不起作用。有想法吗?
async function getReports(reportIDs) {
const urls = reportIDs.map(id => `https://api.data.com/api/v1/report/${id}/?include_datasets=true`);
const requests = urls.map(url => fetch(url, {
method: 'GET',
headers: { 'api-key': key }
}).then(res => res.json()));
const responses = await Promise.all(requests).catch(err => console.error(err));
return responses;
}
Run Code Online (Sandbox Code Playgroud)
我用一个承诺,这样我就可以await在另一个函数中使用该函数的结果来转换数据集。
有想法吗?