【微信小程序】解决wx.request请求异步与微信小程序开发中let that = this的运用


在我的小程序开发过程中,有遇到需要先通过获得request获得数据,再将数据放入那一页面的data中的需求。
而在实现中,发现先赋值给全局变量,再在请求成功后赋值的操作,this.setData并不能成功赋值,而只是获得空数据。
最终发现是wx.request请求异步的问题。

解决请求异步

在wx.request的success的返回的分支下执行第二个wx.request,保证其顺序;
再在第二个wx.request的success的返回分支下进行setData的操作,可以成功赋值页面的data

let that = this的原因

在解决上面问题的过程中,我发现,函数里面,this.setData的操作是不存在的,查询发现,是因为this的指向是在变的,所以,let that = this,本质上是把指向整个page的this存在了that中,方便我们在函数内部,进行对page页的函数调用。

附上解决我这两个问题的blog(虽然解决wx.request异步问题的做法并没有和第一篇中的一致)
解决小程序中wx.request请求异步问题
微信小程序开发中var that =this的用法详解

声明:残城三梦|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 【微信小程序】解决wx.request请求异步与微信小程序开发中let that = this的运用


Live In Fly && Live Infinitely