“vat that = this”在验证asscess_token 为什么要这么做?

来源:

spursyy

2016-07-17

代码为什么要把this 附值给that。

this 明明有的方法,如果使用this.updateAccessToken 就会出错。


function Wechat(opts) {

var that = this

this.appID = opts.appID

this.appSecret = opts.appSecret

this.getAccessToken = opts.getAccessToken

this.saveAccessToken = opts.saveAccessToken

that.getAccessToken()

.then(function(data) {

try {

data = JSON.parse(data)

}catch(e) {

return that.updateAccessToken()

}



写回答

1回答

Scott

2016-07-17

that.getAccessToken() 这里使用 this 是没问题的,如果报错,那么这个错误不是这个 this that 引起的。


但是里面的 return that.updateAccessToken() 这里最好是用 that 来引用到 Wechat 实例的 this 上下文

1
1
spursyy
是的,我调试了,老师您说的是对的。 为什么用this. updateAccessToken() 就会出错。而this.getAccessToken()却没有问题呢!
2016-07-17
共1条回复

7天搞定Node.js微信公众号

Koa框架、ES2015新特性、MongoDB,开发微信公众号

1742 学习 · 787 问题

查看课程