结果在最终结果中返回未定义,但在axios请求中返回结果

约翰蒂
var result = [];
const axios = require("axios");
let XBL = 'LINKREADACTED';

function Status() {
    axios.get(XBL).then(res => {
        result.push({
            core: res.data.CoreServices[0],
            payment: res.data.CoreServices[1],
            media: res.data.CoreServices[2],
            gaming: res.data.CoreServices[3]
        });
        console.log(result)
    });
    console.log(result)
    //return result;
}

任何人都知道它内部如何axios返回我需要的结果,但就在外部它返回undefined吗?

杰森·蒙特

这是与异步调用相关的计时问题。外部结果调用发生在.then方法内部的结果之前您可以重构代码块,以便在.then回调内部进行操作或者我建议扁平化代码块,而不是使用async / await在回调内部嵌套逻辑。

async function Status() {
    const { data } = await axios.get(XBL);
    // Happens after receiving response data
    result.push({
         core: data.CoreServices[0],
         payment: data.CoreServices[1],
         media: data.CoreServices[2],
         gaming: data.CoreServices[3]
    });
    console.log(result)
    return result;
}

请注意,由于该Status()函数现在为async,它将返回一个可解决结果的Promise(请参见async-awaitMDN页面上的“返回值”部分)。

因此,无论您在何处调用该Status()函数,都应像使用所有promise一样await使用它的结果或使用then()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

递归函数在循环内部打印正确的最终结果,但在外部则未定义

数组返回“未定义”结果

从API提取结果返回未定义

最终结果中的问题(Python)

函数应返回布尔结果时返回未定义

如何插入foreach循环所有最终结果在php中的变量中?

MongoDB查找返回在Node.Js代码中未定义的结果

axios promise 在“axios.all”函数中返回正确的值,但在“then”函数中未定义

循环结果中的未定义对象

如何使用promise返回数组的最终结果?

遍历猫鼬结果返回未定义

使用角度服务返回的结果时出错(未定义)

赋值时返回未定义的结果对象

即使有结果,承诺也会返回未定义的值

承诺将未定义的结果返回给回调

Graphql查询结果在用户界面中正确返回,但数据在应用程序内部显示为“未定义”

Axios POST请求返回未定义

jQuery ajax请求结果未定义

在R中返回结果

(eval'(* ab))返回最终结果,而不是中间结果(* 2 3)

JavaScript递归返回中间结果,而不是最终结果

返回结果Node.js时结果始终未定义

pandas groupby在最终结果中包含一列

LINQ:将LET分组并包含在最终结果中

在递归函数的最终结果中执行相同的功能

Api在Fiddler中返回结果,但在控制台中未返回结果

从Angular DataFactory中的HTTP POST请求接收未定义的结果

我从JSON请求接收到正确的数据,但是当我想从函数返回结果时,我得到“未定义”

data-XXX不返回预期的结果。保持返回未定义状态

TOP 榜单

热门标签

归档