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


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 ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
js报错 Object doesn't support this property or method的原因分析
Mar 31 Javascript
动态创建样式表在各浏览器中的差异测试代码
Sep 13 Javascript
为原生js Array增加each方法
Apr 07 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
Sep 15 Javascript
js数组的基本操作(很全自己整理的)
Oct 16 Javascript
浅析JavaScript 调试方法和技巧
Oct 22 Javascript
分享网页检测摇一摇实例代码
Jan 14 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
Feb 23 Javascript
在vue中使用echarts图表实例代码详解
Oct 22 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 Javascript
vue中created和mounted的区别浅析
Aug 13 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
PHP Squid中可缓存的动态网页设计
2008/09/17 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
Javascript Global对象
2009/08/13 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
2017/02/19 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
React中Ref 的使用方法详解
2020/04/28 Javascript
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
python调用百度REST API实现语音识别
2018/08/30 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
Weblogc domain问题
2014/01/27 面试题
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
幼儿园社区活动总结
2014/07/07 职场文书
最新离婚协议书范本
2014/08/19 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
工地食品安全责任书
2015/05/09 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python
MySQL分布式恢复进阶
2022/07/23 MySQL
Python使用pandas导入xlsx格式的excel文件内容操作代码
2022/12/24 Python