- Vue中methods的互相引用问题,返回undefined
-
代码如下
methods:{ funca: function(){ let token = this.$http.post(xxx);// 通过post获取token alert("cc " + token); renturn token; } funcb: function(){ let token = this.funca(); //还使用过let token = this.$options.methods.getToken.bind(this)(); //结果都是token为undefined //需要将token作为一个参数传递 this.$http.get(xxx).then(function (res){ alert("aa") },function(err){ alert("bb") }); }}; mounted():{ this.funcb();
}
3.运行结果,因为获取不到token,所以弹出aa的代码不会执行到
- 先弹出 bb
- 再弹出 cc
4.为什么先调用的funca,但是后执行?
首先,你的
let token = this.$http.post(xxx);
不对这里的token是Promise对象,我按照你的逻辑模拟了一下,并没有出现先bb再cc的情况,你的return也不对,不是renturn