gpt4 book ai didi

javascript - Node JS 从 axios 返回数据

转载 作者:行者123 更新时间:2023-12-01 00:18:43 25 4
gpt4 key购买 nike

我有这个功能:

//=============================================================================
// Get All Currently Active Members Sessions
//=============================================================================
const axios = require('axios')

const activeInfoURL = 'http://192.168.1.101/api/usersessions/activeinfo'

const activeSessions = async () => {

return await axios.get(activeInfoURL, { headers: { Authorization: process.env.Authorization } })
.then(response => {
response.data.result.forEach((data) => {
return data.userId
});

})
.catch((error) => {
console.log('error ' + error);
res.json({status:`Couldn't reach Arena Gaming Server. Try again later`, result:404})
});
};
exports.activeSessions = activeSessions

data.userId的响应是

3 2

我在我的 server.js 文件中这样使用它

setInterval(() => {
console.log(activeSessions.activeSessions())
}, 10000);

它希望它返回:

3 2

每 10 秒返回一次

Promise { < pending > }

我在这里做错了什么?提前致谢。

最佳答案

您没有获得任何值,因为您没有返回任何值。在第一个 .then 回调中,您循环数据并返回每个项目的 userId。但是您忘记了从循环中返回结果。使用 map 而不是使用 forEach 并返回新创建的数组。

从此修改您的第一个 then

.then(response => {
response.data.result.forEach((data) => {
return data.userId
});
})

对此:

.then(response => response.data.result.map((data) => data.userId))

关于javascript - Node JS 从 axios 返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59583336/

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