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


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 相关文章推荐
更换select下拉菜单背景样式的实现代码
Dec 20 Javascript
javascript获得网页窗口实际大小的示例代码
Sep 21 Javascript
javascript读取xml实现javascript分页
Dec 13 Javascript
你未必知道的JavaScript和CSS交互的5种方法
Apr 02 Javascript
使用RequireJS优化JavaScript引用代码的方法
Jul 01 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
jQuery实现切换页面过渡动画效果
Oct 29 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
JS实现的tab切换选项卡效果示例
Feb 28 Javascript
深入理解vue.js中$watch的oldvalue与newValue
Aug 07 Javascript
JS实现商品橱窗特效
Jan 09 Javascript
纯js+css实现在线时钟
Aug 18 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的cURL库简介及使用示例
2015/02/06 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
Python模块学习 datetime介绍
2012/08/27 Python
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
2014高考励志标语
2014/06/05 职场文书
调任通知
2015/04/21 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
浅谈redis整数集为什么不能降级
2021/07/25 Redis
Python函数对象与闭包函数
2022/04/13 Python