[微信小程序]求问wx.request异步怎么实现串行的业务?谢谢 [我是说不用客气]

大家好!求问个问题。谢谢。


我这边的需求是:

在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){ 你的代码 }) , 说的貌似很有深意,你能一条一条说么?