axios:如何一个接一个地运行多个请求?

2024-01-02

我有一个非常大的 ID 数组(数千个 ID)。我想循环遍历这个数组,并对每个值向 API 发出请求,如下所示:

[12, 32, 657, 1, 67, ...].forEach((id) => {
    axios.get(`myapi.com/user/${id}`).then(({ data }) => {
        console.log(data.name);
    });
});

但是,我有很多请求要发出,我无法使它们异步,因为我的计算机有限制...是否可以等待每个请求完成后再发出下一个请求?


而不是使用forEach在 id 中尝试Promise.all https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

const ids = [12, 32, 657, 1, 67];
const promises = ids.map((id) => axios.get(`myapi.com/user/${id}`));

Promise.all([...promises]).then(function (values) {
  console.log(values);
});

假设我们希望许多 Promise 并行执行并等待 他们都准备好了。

例如,并行下载多个 URL 并处理 内容一旦全部完成。

From https://javascript.info/promise-api https://javascript.info/promise-api

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios:如何一个接一个地运行多个请求? 的相关文章

随机推荐