javascript 函数在使用axios时不返回值

yyyllmsg  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(147)

我正在使用axios在一个稍后要调用的函数中做一个简单的post方法。但是我的函数没有返回任何东西。
我的职能:

const myFunc = (query) => {
    let arr = [];
    axios({
        url: GRAPHQL_ENDPOINT,
        method: 'post',
        headers: headers,
        data: { query: query}
    }).then((response) => {
        response.data.forEach(d => {
            arr.push(qs.parse(d.node.name));
        });
    });
    return arr;
} 

myFunc(myQuery); //not returning anything

函数不返回任何东西。如何从函数中获取数组。

jjhzyzn0

jjhzyzn01#

你需要await来获得你myFunc的结果:

const myFunc = (query) => {
  let arr = [];
  return axios({
    url: GRAPHQL_ENDPOINT,
    method: 'post',
    headers: headers,
    data: { query: query }
  }).then((response) => {
    response.data.forEach((d) => {
      arr.push(qs.parse(d.node.name));
    });
    return arr;
  });
};

await myFunc(myQuery);

相关问题