html52.com
我爱小程序-开发者交流社区

getUserInfo和checkSession建议增加同步方法

问题模块
API和组件

很多页面可能需要登录状态和用户信息作为前置条件。在某些时候checkSession执行的非常慢,而getUserInfo第一次吊起又会有授权弹窗,但是又不阻塞js的执行,那么以后的操作都必须写在回调里。这样的话每个页面都需要写回调函数,而没办法在app.js直接初始化,从而减少开发成本。

网友回复

marginyu:

可以参考下这篇文章: http://www.jianshu.com/p/ff931fab42cb

yuhao:

试试二楼思路,还是不错的

胡仲春:

是的 我知道可以这样做,我的意思就是说 不想每个页面都要去回调

maq:

你可以在 app.js 里面定义一个 myGetUserInfo() 函数供每个页面调用,里面封装了所有 wx.login、wx.getUserInfo、wx.checkSession 的实现细节,这样就简单了。


但是,每个页面仍然要提供一个回调函数给 myGetUserInfo() 来处理返回结果。

胡仲春:

楼上说的都没错,可能我没表达清楚,主要的问题就是,不希望每个页面都去写回调,在app.js里直接处理就行了

maq:

用 js 写程序,必须习惯异步模式啊,在回调函数里处理返回结果是常态,你可以通过一些设计模式(比如 Promise)来简化代码。


除非……等小程序的 js 支持新版本的“协程(形式同步)”,呵呵

yuhao:

你第一次调用,保存在服务器里,后面就不需要了呀,每次请求检查一下session有效时间 就可以了,

不是每次都要有回调的。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付