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

更新日期: 2019-07-30 阅读次数: 9425 字数: 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年02月24日 第三世界青年日
2020年02月24日 龙抬头
2020年02月28日 世界居住条件调查日
2020年03月01日 国际海豹日
2020年03月03日 全国爱耳日
2020年03月05日 学雷锋日
2020年03月05日 惊蛰
2020年03月08日 三八妇女节
2020年03月12日 植树节
2020年03月14日 白色情人节
2020年03月15日 消费者权益日
2020年03月17日 国际航海日
查看更多节日