@@ -35,6 +35,7 @@ const NO_OP_OBSERVER = {
35
35
onCompleted : NO_OP ,
36
36
onError : NO_OP
37
37
}
38
+ let requestHandlerNextId = 0
38
39
39
40
/**
40
41
* Treat the protocol responses and notify the observers
@@ -84,6 +85,7 @@ export default class ResponseHandler {
84
85
} ,
85
86
observer
86
87
)
88
+ this . _requestHandlerId = requestHandlerNextId ++
87
89
}
88
90
89
91
handleResponse ( msg ) {
@@ -102,6 +104,11 @@ export default class ResponseHandler {
102
104
}
103
105
try {
104
106
const metadata = this . _transformMetadata ( payload )
107
+ if ( ! this . _currentObserver ) {
108
+ this . _log . trace (
109
+ `${ this . _requestHandlerId } .handleResponse(SUCCESS) current observer is undefined`
110
+ )
111
+ }
105
112
this . _currentObserver . onCompleted ( metadata )
106
113
} finally {
107
114
this . _updateCurrentObserver ( )
@@ -152,6 +159,12 @@ export default class ResponseHandler {
152
159
*/
153
160
_updateCurrentObserver ( ) {
154
161
this . _currentObserver = this . _pendingObservers . shift ( )
162
+ if ( ! this . _currentObserver ) {
163
+ console . trace (
164
+ `${ this . _requestHandlerId } ._updateCurrentObserver to` ,
165
+ this . _currentObserver
166
+ )
167
+ }
155
168
}
156
169
157
170
_queueObserver ( observer ) {
@@ -160,6 +173,10 @@ export default class ResponseHandler {
160
173
observer . onError = observer . onError || NO_OP
161
174
observer . onNext = observer . onNext || NO_OP
162
175
if ( this . _currentObserver === undefined ) {
176
+ console . trace (
177
+ `${ this . _requestHandlerId } ._queueObserver, this._currentObserver=` ,
178
+ observer
179
+ )
163
180
this . _currentObserver = observer
164
181
} else {
165
182
this . _pendingObservers . push ( observer )
0 commit comments