大家好!求问个问题。谢谢。
我这边的需求是:
在app.js的onLaunch( )中用wx.request请求服务端获取用户在本系统中的userid,并存储到storage中(setStorageSync( ))然后在微信小程序首页的index.js的onLaunch( )中调用getStorageSync('userID')来获取这个数据,然后请求服务端获取更多数据;
现在面临的问题是:
wx.request是异步的,所以在index.js中再次请求服务端的时候,可能app.js并没有完成请求并设置storage;
那么这种需求该怎么实现呢?谢谢
tips:
因为是跨页面js,所以不能让后续的操作在wx.request的success体中,不知道怎么实现这样的串行业务操作了。
微信小程序开发问题解答
微信小程序开发者回答:
promise
app.js中readuserid方法
readuserid(){
var that = this
return new Promise(function (resolve, reject){
wx.request({
url: '接口地址',
success: res => {
wx.setStorage({
key: 'userID',
data: res.data.data,
})
resolve(res)
},
fail : res=>{
reject(res)
}
})
})
}
index.js中
app.readuserid().then(function(res){
你的代码
})
本文网址:http://www.91bianli.com/weixinxiaochengxu/23241.html