在vue-cli项目中存储api响应的问题

时间:2018-04-09 18:55:27

标签: javascript api vue.js frontend

我昨天很难在vue-js中找出一个奇怪的行为 基本上我有一个简单的api调用,返回一个数据集合,它工作正常 现在的问题是我必须用不同的参数调用它4次 所以我想出我可能会添加此参数,然后保存它们 但是当我尝试分配返回时,它返回undefined。 这是我的代码示例



data(){
    return {
      token:'',
      availableOrders:'',
      waiting :'',
      to_store :'',
      to_client :'',
      finished :'',
      noData:true,
    }
  },
methods: {
    // the function that calls the api
    getAllOrders: function (param){
      param = param || undefined;
      axios.get( window.bassUrl + 'orders',
      { headers: {'X-Requested-With': 'XMLHttpRequest' , 'Authorization' : `Bearer ${this.token}`},params: { 'type': param }},
      ).then(
          (response) => {
          if (response.data.code == 202) {
                let responseArray= response.data.data.items;
                this.availableOrders = responseArray;
                let result = JSON.parse(JSON.stringify(responseArray));
                return result
              } else {
                console.log(response.data);
              }
          }
      ).catch(
          (error) => {
              console.log(error);
          }
      )
  }
  }




我在mount()方法中运行此方法,如下所示:



mounted(){
       this.token=localStorage.getItem('token');
       this.finished = this.getAllOrders('finished')
       this.to_store = this.getAllOrders('to_store');
       this.to_client =  this.getAllOrders('to_client');
       this.waiting =  this.getAllOrders('waiting');
       console.log(this.finished);
  }




这里的问题是每当我尝试运行它时,控制台都会返回" undefined"我做错了什么?

我也是vuejs的新手,如果你有任何建议来增强这个代码,我完全没问题,谢谢

0 个答案:

没有答案