【发布时间】:2020-03-10 15:33:31
【问题描述】:
我在我的控制台中得到了这个。因为它没有指向我的代码,所以我不知道它是怎么回事:
TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
at subscribeTo (subscribeTo.js:28)
at subscribeToResult (subscribeToResult.js:15)
at CatchSubscriber.push../node_modules/rxjs/_esm5/internal/operators/catchError.js.CatchSubscriber.error (catchError.js:43)
at CatchSubscriber.push../node_modules/rxjs/_esm5/internal/OuterSubscriber.js.OuterSubscriber.notifyError (OuterSubscriber.js:13)
at InnerSubscriber.push../node_modules/rxjs/_esm5/internal/InnerSubscriber.js.InnerSubscriber._error (InnerSubscriber.js:18)
at InnerSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.error (Subscriber.js:59)
at Observable._subscribe (throwError.js:5)
at Observable.push../node_modules/rxjs/_esm5/internal/Observable.js.Observable._trySubscribe (Observable.js:43)
at Observable.push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe (Observable.js:29)
at subscribeToResult (subscribeToResult.js:13)
有人可以帮忙吗?
更新。这是实际的调用:
this.http.get(`${environment.apiUrl}/api/home/`)
.subscribe((data: any) => {console.log(data);
});
更新 2。 这是我的拦截器最有可能发生的地方:
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// add authorization header with jwt token if available
request = this.addTokenToRequest(request);
return next.handle(request);
// .pipe(
// catchError((error: HttpErrorResponse) => {
// if (error instanceof HttpErrorResponse) {
// switch (error.status) {
// case 406: {
// return this.handle406Error(request, next);
// }
// // case 'Unauthorized': {
// // // return this.handle401Error(request, next);
// // }
// }}
// }));
}
所以,如果我注释掉 .pipe 我不会收到消息。但如果有错误,我仍然想处理。
更新 3。 这是最初的电话:
ngOnInit(): void {
this.http.get(`${environment.apiUrl}/api/web/home/`)
.subscribe((data: any) => {
console.log(data);
});
}
【问题讨论】:
-
它告诉你你调用了 .subscribe() 的东西不是 Observable
-
我用实际通话更新了我的问题。
-
我知道它发生在哪里,但仍然不知道为什么。我也有一个拦截器。我已将其代码添加到我的问题中。如果我不这样做 .pipe 我不会收到消息。
-
你确定它在提供的代码行上吗?能否提供服务功能,如何调用?
-
@Chund。不,没有帮助。