【发布时间】:2018-10-12 08:00:40
【问题描述】:
在我的AppComponent.ts 文件中,我使用HttpClient 进行了HTTP GET 调用。
import { Component } from '@angular/core';
import { Observable, Subscriber, Unsubscribable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
ob: Observable<any> = null;
constructor(private httpClient: HttpClient) {
httpClient.get("").subscribe((response) => {
console.log(response);
});
}
}
然后我还有一个拦截器,它拦截 Http 调用并返回一些静态数据(比如说缓存)。
import { Injectable } from "@angular/core";
import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';
import { Observable, of } from "rxjs";
@Injectable()
export class CustomHttpInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<any> {
return of({});
}
}
但是AppComponent.ts 文件中的订阅没有收到任何响应。事实上,订阅成功或错误功能甚至都没有被击中。
也没有控制台错误。有人知道这里发生了什么吗?
注意
我已将返回类型从 Observable<HttpEvent<any>> 更改为 Observable<any>,因为 TypeScript 无法将 Observable<{}> 转换为 Observable<HttpEvent<any>>。
【问题讨论】:
标签: rxjs angular6 interceptor angular-httpclient rxjs6