4

我在 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/

我错过了什么?

4

3 回答 3

1

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

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

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

async get(axios, resourceUrl) {
    const response = await axios.$get(resourceUrl);
    return { response };
}
于 2019-01-07T01:22:50.130 回答
0

我有一个类似的问题,我用交换位置catchthen. catch先走。

我用axios 0.17.1

于 2018-02-05T19:46:16.700 回答
0

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

axios
  .get('http://localhost:63711/api/AdminAPI/GetHomeCarousel')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
 });
于 2017-11-10T07:04:58.957 回答