Angular 2 - ИСКЛЮЧЕНИЕ: TypeError: невозможно прочитать свойство isSkipSelf из null browser_adapter.ts

все! После обновления с бета-версии 12 до RC1 я столкнулся с этой проблемой - и я не знаю, что происходит. У кого-нибудь есть решение?

ИСКЛЮЧЕНИЕ: TypeError: Невозможно прочитать свойство isSkipSelf из null browser_adapter.ts: 88 ИСКЛЮЧЕНИЕ: Ошибка: нечистота (в обещании): TypeError: Не удается прочитать свойство isSkipSelf из null browser_adapter.ts: 78 ИСКЛЮЧЕНИЕ: Ошибка: нечистота (в обещании): TypeError: невозможно прочитать свойство isSkipSelf из nullBrowserDomAdapter.logError @browser_adapter.ts: 78BrowserDomAdapter.logGroup @browser_adapter.ts: 89ExceptionHandler.call @exception_handler.ts: 53 ( анонимная функция) @application_ref.ts: 304schedulerFn @async.ts: 131SafeSubscriber.__ tryOrUnsub @Subscriber.ts: 240SafeSubscriber.next @Subscriber.ts: 192Subscriber._next @Subscriber.ts: 133Subscriber.next @Subscriber.ts: 93Subject._finalNext @Subject.ts: 154Subject._next @Subject.ts: 144Subject.next @Subject.ts: 90EventEmitter.emit @async.ts: 117onError @ng_zone.ts: 138onHandleError @ng_zone_impl.ts: 90ZoneDelegate.handleError @zone.js: 327Zone. runGuarded @zone.js: 233_loop_1 @zone.js: 487drainMicroTaskQueue @zone.js: 494ZoneTask.invoke @zone.js: 426 browser_adapter.ts: 78 STACKTRACE: BrowserDomAdapter.logError @browser_adapter.ts: 78ExceptionHandler.call @exception_handler.ts: 56 (анонимная функция) @application_ref.ts: 304schedulerFn @async.ts: 131SafeSubscriber.__ tryOrUnsub @Subscriber.ts: 240SafeSubscriber.next @Subscriber.ts: 192Subscriber._next @Subscriber.ts: 133Subscriber.next @Subscriber.ts: 93Subject._finalNext @Subject.ts: 154Subject._next @Subject.ts: 144Subject.next @Subject.ts: 90EventEmitter.emit @async.ts: 117onError @ng_zone.ts: 138onHandleError @ng_zone_impl.ts: 90ZoneDelegate.handleError @zone.js: 327Zone.runGuarded @zone.js: 233_loop_1 @zone.js: 487drainMicroTaskQueue @zone.js: 494ZoneTask.invoke @zone.js: 426 browser_adapter.ts: 78 Ошибка: нечистота (в обещании): TypeError: Невозможно прочитать свойство isSkipSelf из null     в resolPromise (zone.js: 538)     в PromiseCompleter.reject(zone.js: 515)     на eval (application_ref.ts: 340)     в ZoneDelegate.invoke(zone.js: 323)     в Object.onInvoke(ng_zone_impl.ts: 67)     в ZoneDelegate.invoke(zone.js: 322)     в Zone.run(zone.js: 216)     at zone.js: 571     в ZoneDelegate.invokeTask(zone.js: 356)     в Object.onInvokeTask(ng_zone_impl.ts: 56) BrowserDomAdapter.logError @browser_adapter.ts: 78ExceptionHandler.call @exception_handler.ts: 57 (анонимная функция) @application_ref.ts: 304schedulerFn @async.ts: 131SafeSubscriber.__ tryOrUnsub @Subscriber.ts: 240SafeSubscriber.next @Subscriber.ts: 192Subscriber._next @Subscriber.ts: 133Subscriber.next @Subscriber.ts: 93Subject._finalNext @Subject.ts: 154Subject._next @Subject.ts: 144Subject.next @Subject.ts: 90EventEmitter.emit @async.ts: 117onError @ng_zone.ts: 138onHandleError @ng_zone_impl.ts: 90ZoneDelegate.handleError @zone.js: 327Zone.runGuarded @zone.js: 233_loop_1 @zone.js: 487drainMicroTaskQueue @zone.js: 494ZoneTask.invoke @zone.js: 426 zone.js: 461 Unhandled Promise rejection: Невозможно прочитать свойство isSkipSelf, равное null; Зона: angular; Задача: Promise.then; Значение: TypeError: невозможно прочитать свойство isSkipSelf из null (...) consoleError @zone.js: 461_loop_1 @zone.js: 490drainMicroTaskQueue @zone.js: 494ZoneTask.invoke @zone.js: 426 zone.js: 463 Ошибка: нечистота (в обещании): TypeError: невозможно прочитать свойство isSkipSelf из null (...)

Ответы

Ответ 1

Похож на эту проблему https://github.com/angular/angular/issues/8519

  • Возможно, вам нужно обновить список параметров функции transform() для канала
  • вы можете пропустить emitDecoratorMetadata: true в своей конфигурации
  • имеют циклическую зависимость, которая не разрешается с помощью forwardRef()
  • некоторый импорт, который не разрешает
  • отсутствует @Injectable() в сервисе
  • ...

Ответ 2

Эта проблема также сообщается в: https://github.com/angular/angular/issues/8704

Если у вас есть следующая ситуация:

компонент A зависит от службы B, которая зависит от службы C,

решение состоит в том, чтобы добавить @Injectable() в службу B, а также добавить сервисы B и C в список поставщиков компонента A.

(Альтернативное решение заключается в том, чтобы добавить forwardRef к сервису C в конструкторе службы B, используя @Inject (forwardRef (() = > ServiceC), а также добавить сервисы B и C в список поставщиков компонента A)

Ответ 3

Для меня, вынимая localStorage от поставщиков: от провайдеров: [HTTP_PROVIDERS, localStorage] в провайдеров: [HTTP_PROVIDERS]

исправлена ​​проблема. Я почти уверен, что я видел, как он работает с ошибкой localStorage, возможно, это был мираж.

Просто убедитесь, что вы не путаете директивы: с поставщиками:

Ответ 4

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

import {blindMen} from '../elephant'
...
export class ElephantComponet{
blindMen:any;
constructor(){
this.blindMen = blindMen;
    }
}