axios 异步请求后.then()后再接.then()要怎么写
doctorComments(this.$route.params.hid, this.$route.params.fid, this.doctorHisId, this.createdon, this.pageno, 5) //1.axios请求数据
.then(d => {//2.处理数据
let dc = new Array()
for(let i=0;i<d.list.length;i++){
dc[i] = {doctorComments:d.list[i],isZhanshiComment:false}
}
this.doctorComments = this.doctorComments.concat(dc);
this.$refs.scroller.donePullup();
})
.then(()=>{//3.调用方法
this.$options.methods.compareHeightComment();
})
3.里面调用的方法需要doctorcommts这个数组的信息。想要用js promise的相关方法去链式调用,但是我这么写3里面的方法仍然取不到2里面设置的数据。取2里面的数组长度length是undfined。
vue.js.
各位大神,3里面的方法怎么才能取到2设置好后的值。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
return
给你个例子 箭头函数后面有大括号要加return
后来查明原因。this在then之后调用的方法里指向不是当前vue实例。如果在调用的方法里面使用this,就会一直找不到值。按照李十三大神的用法在promise之前传入当前vue实例。
调用的方法里面使用这个that实例。
最终严格来讲是作用域的问题。