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


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中的常用事件总结
Dec 27 Javascript
input按钮的事件处理大全
Dec 10 Javascript
js跑马灯代码(自写)
Apr 17 Javascript
js 触发select onchange事件代码
Mar 20 Javascript
jQuery中add()方法用法实例
Jan 08 Javascript
javascript中if和switch,==和===详解
Jul 30 Javascript
js基于setTimeout与setInterval实现多线程
Jun 17 Javascript
angularjs实现table增加tr的方法
Feb 27 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
vue 设置路由的登录权限的方法
Jul 03 Javascript
详解Vue中使用插槽(slot)、聚类插槽
Apr 12 Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 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/10/09 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
学习ExtJS table布局
2009/10/08 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Python函数基本使用原理详解
2020/03/19 Python
pycharm安装及如何导入numpy
2020/04/03 Python
css3实现背景动态渐变效果
2019/12/10 HTML / CSS
HTML文本属性&颜色控制属性的实现
2019/12/17 HTML / CSS
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
小学新教师培训方案
2014/02/03 职场文书
上班玩游戏检讨书
2014/02/07 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
总经理检讨书
2014/09/15 职场文书
市级三好学生评语
2014/12/29 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
高中美术教学反思
2016/02/17 职场文书
Python内置数据结构列表与元组示例详解
2021/08/04 Python
python 安全地删除列表元素的方法
2022/03/16 Python
keepalived + nginx 实现高可用方案
2022/12/24 Servers