@@ -35,6 +35,7 @@ const NO_OP_OBSERVER = {
3535 onCompleted : NO_OP ,
3636 onError : NO_OP
3737}
38+ let requestHandlerNextId = 0
3839
3940/**
4041 * Treat the protocol responses and notify the observers
@@ -84,6 +85,7 @@ export default class ResponseHandler {
8485 } ,
8586 observer
8687 )
88+ this . _requestHandlerId = requestHandlerNextId ++
8789 }
8890
8991 handleResponse ( msg ) {
@@ -102,6 +104,11 @@ export default class ResponseHandler {
102104 }
103105 try {
104106 const metadata = this . _transformMetadata ( payload )
107+ if ( ! this . _currentObserver ) {
108+ this . _log . trace (
109+ `${ this . _requestHandlerId } .handleResponse(SUCCESS) current observer is undefined`
110+ )
111+ }
105112 this . _currentObserver . onCompleted ( metadata )
106113 } finally {
107114 this . _updateCurrentObserver ( )
@@ -152,6 +159,12 @@ export default class ResponseHandler {
152159 */
153160 _updateCurrentObserver ( ) {
154161 this . _currentObserver = this . _pendingObservers . shift ( )
162+ if ( ! this . _currentObserver ) {
163+ console . trace (
164+ `${ this . _requestHandlerId } ._updateCurrentObserver to` ,
165+ this . _currentObserver
166+ )
167+ }
155168 }
156169
157170 _queueObserver ( observer ) {
@@ -160,6 +173,10 @@ export default class ResponseHandler {
160173 observer . onError = observer . onError || NO_OP
161174 observer . onNext = observer . onNext || NO_OP
162175 if ( this . _currentObserver === undefined ) {
176+ console . trace (
177+ `${ this . _requestHandlerId } ._queueObserver, this._currentObserver=` ,
178+ observer
179+ )
163180 this . _currentObserver = observer
164181 } else {
165182 this . _pendingObservers . push ( observer )
0 commit comments