Observable.of
转换为可观察序列的参数意味着它可以用作对另一个订阅的Observable的模拟响应。
但是现在,似乎Observable.of
在从拦截器调用它时不起作用,因为订阅它的方法没有执行
当使用给定数据调用Observable.of时,HttpClient
应该将数据返回给已经订阅它的方法
Live Demo (打开DevTools控制台读取日志)
有一个服务(mock.service.ts
)使用HttpClient
生成模拟HTTP get请求,请求到达mock.interceptor.ts
并且它希望使用{{1来回答模拟数据(意味着不希望请求通过网络传输),Observable.of
在mock.service
中有一个订阅者正在等待app.component
的响应。没有数据到达订户,也没有错误。
关于如何实现与HttpClient
一起使用的拦截器的任何想法?
答案 0 :(得分:3)
尝试将拦截器拦截方法中的return语句更改为:
return Observable.of( new HttpResponse<any>( { body: mockData }))
答案 1 :(得分:1)
Observable.of
被取代,改用Observable.create
return Observable.create((ob) => {
ob.next(new HttpResponse<any>({body: data}));
});