
原因:app.js中的login请求是异步 *** 作,所以会出现执行home.js中请求的时候,login请求还未执行完成,因此获取不到token。
解决方法:在app.js中使用Promise;在home.js判断Promise的状态,已完成时再去执行页面的请求。
在小程序开发时,我们请求数据,就需要使用promise或者async处理异步请求,避免掉入回调地狱。而async号称是解决回调地狱的最终方案,平时我也是比较喜欢使用的,但是作为es7的语法,小程序的开发者工具貌似不支持es7
那么要如何让开发工具支持呢?
(注:不可全局引入,否则无效)
该方法存在兼容性,若要适配某些旧的手机或者小程序时,请勿使用本方法
2.使用promise处理异步
3.使用async
微信小程序里面的本地缓存
wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)
localStorage :是永久存储,以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。
在小程序中无 Sync 结尾的本地缓存中,都为 异步缓存
wx.setStorage(object)
参数object说明
控制台
表示储存成功
wx.getStorage(object)
示例
这个key值就是先前setStorage的命名key,证明指定获取那个缓存中的数据
wx.clearStorage(object)
清理本地数据缓存
将之前储存在Storage中的数据清空。适用于退出登录后登录信息的清除
wx.getStorageInfo(object)
异步获取当前storage的相关信息( 当前小程序里面所有的storage的储存信息 )
参数说明
执行结果
wx.removeStorage(OBJECT)
从本地缓存中异步移除指定 key值
获取当前data值时将报错undefined
执行结果
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)