微信小程序 闭包写法详细介绍

微信小程序 闭包写法

在入口处的 app.js 中定义了一个获取用户 OpenId 的函数,在微信的登录接口 wx.login 中发起网络请求。这个函数传入一个回调函数 cb

getOpenIdData: function(cb) { var that = this //调用登录接口 wx.login({ success: function(res) { wx.request({ url: 'https://api.weixin.qq.com/sns/jscode2session', data: { appid: "wx6224eb*********", secret: "879b58fc64bc5**************", js_code: res.code, grant_type: "authorization_code" }, success: function(res) { // 保存到全局变量中 that.globalData.openid = res["data"]["openid"] cb(that.globalData.openid) }, fail: function() { console.log("request error") } }) } }) }

在 index.js 文件时,使用 getOpenIdData 接口

var app = getApp() app.getOpenIdData(function(openid){ //回调更新数据 that.setData({ openid: openid }) })

在接口中传入匿名函数

function(openid){ //回调更新数据 that.setData({ openid: openid }) }

先将匿名函数传入到 app.js 中,获取到 openid 数据。再回到 index.js 将数据赋给此文件的全局变量。这样就实现跨文件传递数据。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfdyy.html