gpt4 book ai didi

javascript - 用 Axios promise 一切

转载 作者:行者123 更新时间:2023-12-03 03:04:57 26 4
gpt4 key购买 nike

我刚刚阅读了一篇与 Promise 相关的文章,无法理解我们如何通过 Promise.all 使用 Axios 进行多个 API 调用

所以考虑有 3 个 URL,让我们这样调用它

let URL1 = "https://www.something.com"
let URL2 = "https://www.something1.com"
let URL3 = "https://www.something2.com"

以及一个我们将在其中存储值的数组

  let promiseArray = []

现在,我想并行运行它(Promise.all),但我无法弄清楚我们将如何做到这一点?因为 axios 本身就有一个 promise (或者至少我是这样使用它的)。

axios.get(URL).then((response) => {
}).catch((error) => {
})

问题:有人可以告诉我如何使用promise.all和axios发送多个请求

最佳答案

axios.get() 方法将返回一个 promise 。

Promise.all() 需要一个 Promise 数组。例如:

Promise.all([promise1, promise2, promise3])

那么……

let URL1 = "https://www.something.com"
let URL2 = "https://www.something1.com"
let URL3 = "https://www.something2.com"

const promise1 = axios.get(URL1);
const promise2 = axios.get(URL2);
const promise3 = axios.get(URL3);

Promise.all([promise1, promise2, promise3]).then(function(values) {
console.log(values);
});

您可能想知道 Promise.all() 的响应值是什么样的。那么,您可以通过快速查看这个示例来轻松地自己弄清楚:

var promise1 = Promise.resolve(3);
var promise2 = 42;
var promise3 = new Promise(function(resolve, reject) {
setTimeout(resolve, 100, 'foo');
});

Promise.all([promise1, promise2, promise3]).then(function(values) {
console.log(values);
});
// expected output: Array [3, 42, "foo"]

了解更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

关于javascript - 用 Axios promise 一切,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52669596/

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