【问题标题】:Async/Await Axios returns promise and not data? [duplicate]Async/Await Axios 返回承诺而不是数据? [复制]
【发布时间】:2019-03-20 04:05:07
【问题描述】:
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 语句返回一个 Resolved Promise,其中包含 Promise 中的数据。数据需要返回真或假。有没有办法解开承诺并返回数据? 我对异步/等待相当陌生。我已经尝试过在这里找到的建议,但无论我尝试什么,它都会返回一个承诺。

编辑

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

这帮助我从调用的 async/await axios 中获取值。

Async/Await in Axios

【问题讨论】:

  • 不,没有办法。将异步转换为同步是不可能的。到处使用 async/await。

标签: javascript reactjs promise async-await


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 2016-05-20
    • 1970-01-01
    相关资源
    最近更新 更多