在ES6类语句中访问回调中的类成员
Access class member within callback when inside ES6 class statement
重要信息我正在使用ES6类语句。关于用函数定义的"类"的答案不适用,因为在类语句中不允许像var this = that
这样的东西。我在这个问题上看到的答案都不起作用。回调函数之外的变量都不可见。
WebPageReader.Storage = class {
constructor(object) {
this.Object = object;
var self = this; // self is out of scope when constructor completes
}
// var self = this; // not allowed here
Load() {
chrome.storage.sync.get('somesetting',
function (setting) {
console.log(this.Object); // I need to do something with this.Object defined at the class level, but this points to something besides my class.
}
);
}
}
您可以遵循两者中的任何一个:
Load() {
const that = this;
chrome.storage.sync.get('somesetting',
function (setting) {
console.log(that.Object);
}
);
}
或
Load() {
chrome.storage.sync.get('somesetting',
setting => {
console.log(this.Object);
}
);
}
引用:
- https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions
相关文章:
- AngularJS:我可以跳过函数参数回调吗
- 要求未定义JS回调参数
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 自引用回调
- 测试Angular Service解决错误回调中的promise
- 如何将一个JavaScript函数回调为多个函数
- JavaScript回调函数
- 如何从回调访问成员变量
- 对象成员函数的回调?(Javascript)
- JavaScript:如何将多个参数传递给对象成员内的回调函数
- 在成员函数回调中获取对象
- Javascript和jQuery:从事件回调中访问类成员变量
- 通过回调设置object的成员奇怪地失败了
- 在ES6类语句中访问回调中的类成员
- JavaScript如何从回调函数中设置成员变量
- 如何将事件侦听器回调设置为成员函数
- 从成员函数内部的回调中访问
- 如何从Ecmascript 6(ES6)上类对象中的事件回调函数访问对象成员
- 属于JavaScript对象原型的回调函数是否可以访问对象成员
- 回调中未定义的方法和成员