gpt4 book ai didi

javascript - 获取 Promise 的值?

转载 作者:行者123 更新时间:2023-11-30 14:52:24 25 4
gpt4 key购买 nike

我正在使用 axios 向 twitchtvapi 发出 AJAX 请求。我将 promise 分配给一个名为 example 的变量。

是否有可能获取 Promise 对象内部的数据?如果我将 .then 方法链接到 promise 对象,我会得到一个错误,指出 .then 不是一个函数。

如果我记录示例变量,我可以看到有三个 promise ,我希望将其值存储到类似于

的数组中

var example = users.map((item) => axios.get(`https://api.twitch.tv/kraken/streams/${item}?client_id=${client_id}`)
.then(res => {
console.log(res.data.stream);
return res.data.stream;
})
.catch(error => {
console.log(error);
}));
console.log(example); //an array of three Promise objects
console.log(example.then(res => res.data)) //returns error example.then is not a function
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

TLDR;如何从 Promise 对象获取数据?如果我尝试链接 .then 方法,我会收到一条错误消息,指出 .then 不是一个函数。

提前感谢您的帮助。

最佳答案

下面的代码

users.map((item) => axios.get(`https://api.twitch.tv/kraken/streams/${item}?client_id=${client_id}`)

返回一组 promise 。数组本身并不是一个 promise 。如果您希望在所有 promise 都已解决后执行一些代码,您可以使用 Promise.all

Promise.all(users.map(...))
.then((responses) => {
// deal with responses[0].data
// responses[1].data
// etc.
})
.catch((error) => {
// deal with error that occurred
});

关于javascript - 获取 Promise 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47910695/

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