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


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 相关文章推荐
不要小看注释掉的JS 引起的安全问题
Dec 27 Javascript
Prototype 工具函数 学习
Jul 23 Javascript
jQuery 动态酷效果实现总结
Dec 27 Javascript
jquery配合css简单实现返回顶部效果
Sep 30 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
JavaScript插件化开发教程 (三)
Jan 27 Javascript
javascript实现倒计时跳转页面
Jan 17 Javascript
基于JavaScript实现购物车功能
Feb 07 Javascript
微信小程序实现左右联动的实战记录
Jul 05 Javascript
jQuery分组选择器简单用法示例
Apr 04 jQuery
详解如何模拟实现node中的Events模块(通俗易懂版)
Apr 15 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类
2006/11/27 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
帝国cms常用标签汇总
2015/07/06 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
pygame实现飞机大战
2020/03/11 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
捷克时尚网上商店:OTTO
2018/03/15 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
商场收银员岗位职责
2015/04/07 职场文书
学校德育工作总结2015
2015/05/11 职场文书