小编Wel*_*lls的帖子

在数组中使用 setInterval() 和 .map 方法并作为承诺返回

我有一个函数,它获取 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在另一个函数中使用该函数的结果来转换数据集。

有想法吗?

javascript arrays api timer promise

2
推荐指数
1
解决办法
2314
查看次数

标签 统计

api ×1

arrays ×1

javascript ×1

promise ×1

timer ×1