ES6 的箭头函数,让 let that = this 去死吧

更新日期: 2019-07-30 阅读次数: 9882 字数: 277 分类: Javascript

调试小程序的时候,发现清空本地全部数据缓存之后,报错

thirdScriptError
this.login is not a function;at App onShow function;at api refreshSession fail callback function
TypeError: this.login is not a function
    at Function.fail (http://127.0.0.1:9973/appservice/app.js:31:14)
    at Object.fail (

第一眼愣是没发现问题,仔细一看 at api refreshSession fail callback function 我就明白了

    // 检测微信登录态是否失效
    wx.checkSession({
      success: function () {
        console.log("Good session!");

      },
      fail: function () {
        console.log("Bad session!");
        // 登录态过期
        this.login()
      }
    })

回调函数里使用了 this 。。。

这是每个写 js 人的痛,也是我之前一直讨厌用 js 的重要原因之一。因为很容易就忽视了 this 的使用。

但是自从接触 weex,用了一段时间 ES6 之后,发现箭头函数真是完美解决 that/this 地狱问题。

    fail: () => {
        console.log("Bad session!");
        // 登录态过期
        this.login()
      }

箭头函数的参数

没有参数

callback_func_name: () => {
	// do something
}

一个参数 (括号可加,可不加)

callback_func_name: var1 => {
	// do something
}

多个参数

callback_func_name: (var1, var2) => {
	// do something
}

ES6 箭头函数的原理

领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年04月01日 愚人节
2020年04月02日 国际儿童图书日
2020年04月03日 寒食节
2020年04月04日 清明节
2020年04月07日 世界卫生日
2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
查看更多节日