异步/等待Axios返回promise,而不返回数据?

时间:2019-03-19 15:21:26

标签: javascript reactjs promise async-await

export const isLoginValid = async token => {
  try {
    let result = await axios.post(API_URL + "/verify", null, {
      headers: { Authorization: "Bearer " + token }
    });
    return await result.data;
  } catch (error) {
    console.log("Unable to verify");
    return false;
  }
};

我正在使用上面的代码检查用户的登录名是否有效。但是,return语句返回带有Promise中数据的Resolved Promise。数据需要返回true或false。有没有办法解开承诺并只返回数据? 我是异步/等待的新手。我尝试了在这里找到的建议,但是无论我尝试什么,它都会返回承诺。

修改

顺便说一句,这不是重复的,建议的答案不是我的问题所在。我一直无法使用axios从async / await调用中获取值,因为它一直在返回承诺。

这帮助我从名为async / await的axios中获得了价值。

Async/Await in Axios

1 个答案:

答案 0 :(得分:0)

不。您正在此函数内调用异步请求,因此该函数将永远无法同步返回此异步请求的结果。无论您在何处调用此函数,都需要使用结果承诺来处理结果。