Не определено даже с нулевой проверкой - PullRequest
0 голосов
/ 20 февраля 2019

слушатель возвращает неопределенное значение, и я верю в начальное свойство.Это объект наблюдателя.

    var updateP = {
        cb: function (event, properties) {
            "listener" in window? listener.next(properties):null
        },
        start: function (listener) {
            dataset.on("update", this.cb)
        },
        stop: function () {
            dataset.off("update", this.cb)
        },
    }

1 Ответ

0 голосов
/ 20 февраля 2019

Переменная listener является локальной для функции start, поэтому вы не можете получить к ней доступ как к глобальной переменной.

Переместите определение this.cb внутрь updateP.start, тогда оно будетбыть в состоянии получить доступ к лексической переменной.

var updateP = {
  start: function(listener) {
    function asdf(ab) {
      console.log(ab)
    }
    this.cb = function(event, properties) {
      listener.next(properties)
    };
    dataset.on("update", this.cb)
  },
  stop: function() {
    if (this.cb) {
      dataset.off("update", this.cb);
    }
  },
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...