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


Posted in Javascript onDecember 14, 2016

微信小程序 闭包写法

在入口处的 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 将数据赋给此文件的全局变量。这样就实现跨文件传递数据。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery生成asp.net服务器控件的代码
Feb 04 Javascript
javascript处理table表格的代码
Dec 06 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
BootStrap select2 动态改变值的方法
Feb 10 Javascript
简述jQuery Easyui一些用法
Aug 01 jQuery
微信小程序实现折叠展开效果
Jul 19 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
Aug 31 Javascript
angular 服务的单例模式(依赖注入模式下)详解
Oct 22 Javascript
JS实现图片切换效果
Nov 17 Javascript
vue图片上传组件使用详解
Dec 23 Javascript
Vue两种组件类型:递归组件和动态组件的用法
Aug 06 Javascript
微信小程序picker组件两列关联使用方式
Oct 27 Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 #Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 #Javascript
详解jQuery停止动画——stop()方法的使用
Dec 14 #Javascript
实例解析Array和String方法
Dec 14 #Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 #Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 #Javascript
浅谈Javascript中的Label语句
Dec 14 #Javascript
You might like
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
Python编写屏幕截图程序方法
2015/02/18 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python rstrip()方法实例详解
2018/11/11 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
python Tornado框架的使用示例
2020/10/19 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
什么是接口(Interface)?
2013/02/01 面试题
汽车专业毕业生自荐信
2013/11/03 职场文书
英文简历中的自我评价用语
2013/12/09 职场文书
租赁协议书
2015/01/27 职场文书
高三教师工作总结2015
2015/07/21 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
Python基础之变量的相关知识总结
2021/06/23 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python