0

重要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.
      }
    );
  }
}
4

1 に答える 1