【问题标题】:Axios not returning valueaxios没有返回值
【发布时间】:2016-12-12 04:06:53
【问题描述】:

我在 axios 中调用 API 方法,例如:

  let promise = axios.get('http://localhost:63711/api/AdminAPI/GetHomeCarousel');
  console.log(promise);
  promise.then(function(response){
    console.log(response);
  });

console.log 都打印输出:

Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}

api 是 GET 并返回有效的 json 数据,我通过 POSTMAN 进行了检查,例如:

[
    {
        "type": "image",
        "mediaUrls": [
            "\\wwwroot\\11863226_431355017048701_7276274176291220216_n.jpg"
        ],
        "title": "title 1",
        "description": "<p>Check pic&nbsp;</p>\r\n<p>test yy jjasd</p>",
        "url": "\\NdbSite\\wwwroot\\11863226_431355017048701_7276274176291220216_n.jpg",
        "buttonText": "",
        "featuredProduct": "",
        "featuredProductUrl": ""
    }
]

我关注了:

http://codeheaven.io/how-to-use-axios-as-your-http-client/

我错过了什么?

【问题讨论】:

  • 我相当确定console.log(response)console.log 输出永远不会是待处理的Promise 对象。我会再次检查。
  • axios.get('http://localhost:63711/api/AdminAPI/GetHomeCarousel').then(function(response) { console.log(response) }); 给你同样的结果吗?
  • 不太确定为什么您的代码无法正常工作,我在这里对其进行了测试:jsbin.com/wohobaboje/edit?html,js,output 看起来还不错。我会仔细检查您的 API 是否正常工作。
  • 你能不能换个网址试试 'localhost:63711/api/AdminAPI/GetHomeCarousel' ,把'/'放在最后再试一次?
  • 同样的问题.. 有任何更新吗?相关xkcd:xkcd.com/979

标签: reactjs asp.net-web-api axios


【解决方案1】:

我发现当您在以 async 开头的函数中发出 axios 请求时确实会发生这种行为,但您忽略了在请求调用前添加 await 关键字。

显然这不是 OP 的解决方案,但它可能会帮助到这里的其他一些人。

在下面的代码中,如果您删除了await 关键字,就会发生这种情况。

async get(axios, resourceUrl) {
    const response = await axios.$get(resourceUrl);
    return { response };
}

【讨论】:

    【解决方案2】:

    你错过了你需要解决的承诺。不知道你为什么会这样,你可以完美地试试这个:

    axios
      .get('http://localhost:63711/api/AdminAPI/GetHomeCarousel')
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
     });
    

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题,我通过切换位置 catchthen 解决了。 catch先走。

      我用axios 0.17.1

      【讨论】:

        猜你喜欢
        • 2021-10-16
        • 2018-11-26
        • 2021-12-16
        • 1970-01-01
        • 2017-12-17
        • 2017-02-28
        • 2013-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多