Ember: Невозможно вызвать writeWatching после уничтожения объекта - PullRequest
0 голосов
/ 29 августа 2018

Обнаружена следующая ошибка, когда пользователь выходит из системы и затем использует кнопку возврата браузера, чтобы вернуться на предыдущую страницу:

Error: Assertion Failed: Cannot call writeWatching after the object is destroyed.

Я не могу изолировать проблему до такой степени, чтобы ее можно было воспроизвести за пределами текущего контекста. Это проблема других разработчиков (например, здесь и здесь ) в репозитории Ember GitHub. сообщили о воспроизводимости.

Из проведенной мной трассировки стека вызовов я могу сказать, что ошибка выполняется следующей функцией Ember:

  setDebugFunction('assert', function assert(desc, test) {
    if (!test) {
      throw new _emberDebugError.default('Assertion Failed: ' + desc);
    }

И что стек вызовов начинается с этой функции Ember:

onUpdateURL: function (callback) {
      var _this = this;

      this._removeEventListener();

      this._popstateHandler = function () {
        // Ignore initial page load popstate event in Chrome
        if (!popstateFired) {
          popstateFired = true;
          if (_this.getURL() === _this._previousURL) {
            return;
          }
        }
        callback(_this.getURL());
      };

      window.addEventListener('popstate', this._popstateHandler);
    }, 

Однако я совершенно не понимаю, почему это происходит. Любое понимание будет высоко ценится

...