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


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 相关文章推荐
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
Nov 08 Javascript
jQuery中append()方法用法实例
Dec 25 Javascript
学习JavaScript设计模式(代理模式)
Dec 03 Javascript
JavaScript实现显示函数调用堆栈的方法
Apr 21 Javascript
Javascript实现跑马灯效果的简单实例
May 31 Javascript
老生常谈原生JS执行环境与作用域
Nov 22 Javascript
jquery插件bootstrapValidator表单验证详解
Dec 15 Javascript
教你一步步用jQyery实现轮播器
Dec 18 Javascript
extjs简介_动力节点Java学院整理
Jul 17 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
js实现简单分页导航栏效果
Jun 28 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
农民和部队如何穿矿
2020/03/04 星际争霸
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
Python写的服务监控程序实例
2015/01/31 Python
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
python实现的系统实用log类实例
2015/06/30 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python如何使用腾讯云发送短信
2020/09/17 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
python 从list中随机取值的方法
2020/11/16 Python
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
网络安全方面的面试题
2016/01/07 面试题
J2EE面试题集锦(附答案)
2013/08/16 面试题
酒店公关部经理岗位职责
2013/11/24 职场文书
企事业单位求职者的自我评价
2013/12/28 职场文书
《燕子》教学反思
2014/02/18 职场文书
保密普查工作实施方案
2014/02/25 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
借款协议书范本
2014/04/22 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
教研活动主持词
2015/07/03 职场文书
社区干部培训心得体会
2016/01/06 职场文书
技术入股合作协议书
2016/03/21 职场文书