收藏
回答

求问wx.request异步怎么实现串行的业务?谢谢

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.request 客户端 6.5.3 2.0.0

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


我这边的需求是:

在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体中,不知道怎么实现这样的串行业务操作了。


回答关注问题邀请回答
收藏

1 个回答

  • 铭锋科技
    铭锋科技
    2019-01-25

    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){

    你的代码

    })

    2019-01-25
    有用 1
    回复 1
    • 2019-02-25

      非常感谢!!

      2019-02-25
      回复
登录 后发表内容