在解决承诺之前,函数正在重新定义不确定

时间:2018-10-31 01:31:37

标签: javascript node.js angular vue.js

我有一个vue程序,该程序正在使用一种服务来从API调用中获取产品。

getProducts() {
    axios.get("https://jsonplaceholder.typicode.com/posts").then(function (response) {
        return response;
    }).catch(function(error){
        console.log(error);
    })
}

在我需要调用的Vue页面中,我像这样在created()挂钩中进行调用:

  created() {
    //this returns a promise
    productservices.getProducts().then(response =>{
      this.products = response.data;
    }).catch(error => console.log(error))
    .finally(() =>{
      consol.log("All done!");
    })
  },

我可以调用该函数没有问题,但是它正在运行.then()并返回Undefined。为什么会这样呢?我该如何解决?

2 个答案:

答案 0 :(得分:2)

getProducts() {
    return axios.get("https://jsonplaceholder.typicode.com/posts")
}

试试看。

答案 1 :(得分:0)

您还可以使用async / await

async getProducts() {
    try {
        const response = await axios.get("https://jsonplaceholder.typicode.com/posts")
        return response
    } catch(e) {
        // Do something with the error
        console.log(e)
    }
}