2016-04-06 10 views
2

Ich entwickle seit einigen Wochen eine Angular2-App, die ich bereits vor ein paar Tagen gesehen habe.Abmeldungsfehler beim ersten RX-Abonnement ausgelöst

Das Problem tritt beim allerersten Aufruf zum Abonnieren oder ToPromise in einem rxJS-Stream auf und scheint das App-Verhalten überhaupt nicht zu stören. Es wirft jedoch in die Konsolenausgabe des Browsers und scheint Debuggen zu verhindern (weil die Verbindung zwischen zone.js und der App verloren geht)

Dies geschieht unabhängig davon, welches Abonnement zuerst geladen wird, und beide in Google Chrome und Firefox gleichermaßen.

Ich werde versuchen, diese Frage zu aktualisieren, wenn ich weitere Informationen bekomme, aber im Moment ist das alles, was ich weiß.

Sehr nutzlos Stacktrace:

browser_adapter.js:76 EXCEPTION: 
UnsubscriptionErrorBrowserDomAdapter.logError @ browser_adapter.js:76 
BrowserDomAdapter.logGroup @ browser_adapter.js:86 
ExceptionHandler.call @ exception_handler.js:56 
(anonymous function) @ application_ref.js:193 
schedulerFn @ async.js:122 
SafeSubscriber.__tryOrUnsub @ Subscriber.js:166 
SafeSubscriber.next @ Subscriber.js:115 
Subscriber._next @ Subscriber.js:74 
Subscriber.next @ Subscriber.js:51 
Subject._finalNext @ Subject.js:124 
Subject._next @ Subject.js:116 
Subject.next @ Subject.js:73 
EventEmitter.emit @ async.js:11 
1NgZone._zoneImpl.ng_zone_impl_1.NgZoneImpl.onError @ ng_zone.js:119 
NgZoneImpl.inner.inner.fork.onHandleError @ ng_zone_impl.js:65 
ZoneDelegate.handleError @ zone.js:364 
Zone.runTask @ zone.js:293 
ZoneTask.invoke @ zone.js:460 
XMLHttpRequest.send (async)scheduleTask @ zone.js:100 
ZoneDelegate.scheduleTask @ zone.js:373 
Zone.longStackTraceZoneSpec.onScheduleTask @ long-stack-trace-zone.js:119 
ZoneDelegate.scheduleTask @ zone.js:370 
Zone.scheduleMacroTask @ zone.js:310 
(anonymous function) @ zone.js:121 
send @ VM76503:3(
anonymous function) @ xhr_backend.js:76 
Observable.subscribe @ Observable.js:58 
Observable._subscribe @ Observable.js:99 
Observable.subscribe @ Observable.js:55 
Observable._subscribe @ Observable.js:99 
Observable.subscribe @ Observable.js:55 
AccountScreen.routerOnActivate @ account_screen.ts:56 
(anonymous function) @ router_outlet.js:67 
ZoneDelegate.invoke @ zone.js:36 
0NgZoneImpl.inner.inner.fork.onInvoke @ ng_zone_impl.js:44 
ZoneDelegate.invoke @ zone.js:359 
Zone.run @ zone.js:253 
(anonymous function) @ zone.js:605 
ZoneDelegate.invokeTask @ zone.js:393 
NgZoneImpl.inner.inner.fork.onInvokeTask @ ng_zone_impl.js:35 
ZoneDelegate.invokeTask @ zone.js:392 
Zone.runTask @ zone.js:290 
drainMicroTaskQueue @ zone.js:511 
ZoneTask.invoke @ zone.js:463 
+0

Irgendwelche Idee, welcher Code das Problem verursacht? –

+1

Nein, wird an mehreren Stellen in * my * code geworfen. Ich war nicht in der Lage, es so weit wie eckige Innereien zu verfolgen, wie es tief in einer Zone ist. OnError-Abonnement –

+0

Sonderbare Sache ist - das hat es vorher nicht getan. Jetzt tut es das, selbst wenn ich einen alten Zweig auschecke und alle npm-Module neu installiere. –

Antwort

2

Es scheint mit zone.js ein Bug zu sein. Die letzten paar Betas von Angular hängen von [email protected]^0.6.6 ab, was auf 0.6.9 fällt, was fehlerhaft zu sein scheint.

Das Zurücksetzen auf 0.6.6 behebt das Problem. Ein GitHub-Problem wurde erstellt here.