Observable.of 在 HttpClient 拦截器中没有按预期工作
Observable.of does not work as expected in HttpClient Interceptor
问题
Observable.of
将参数转换为可观察序列意味着它可以用作对另一个订阅的 Observable 的模拟响应。
但是现在,似乎 Observable.of
从拦截器调用时不起作用,因为订阅它的方法不会执行
预期行为:
当使用给定的数据调用 Observable.of 时,HttpClient
应该 return 数据到已经订阅它的方法
演示
Live Demo(打开DevTools控制台读取日志)
有一项服务 (mock.service.ts
) 使用 HttpClient
发出模拟 HTTP get 请求,请求到达 mock.interceptor.ts
并且它想要使用 [=回答模拟数据=11=](表示不想让请求通过网络),mock.service
在 app.component
中有一个订阅者正在等待 HttpClient
的响应。没有数据到达订阅者,也没有错误。
知道如何实现与 Observable.of
一起使用的拦截器吗?
尝试将拦截器拦截方法中的return语句改为:
return Observable.of( new HttpResponse<any>( { body: mockData }))
Observable.of
已弃用,请改用 Observable.create
return Observable.create((ob) => {
ob.next(new HttpResponse<any>({body: data}));
});
问题
Observable.of
将参数转换为可观察序列意味着它可以用作对另一个订阅的 Observable 的模拟响应。
但是现在,似乎 Observable.of
从拦截器调用时不起作用,因为订阅它的方法不会执行
预期行为:
当使用给定的数据调用 Observable.of 时,HttpClient
应该 return 数据到已经订阅它的方法
演示
Live Demo(打开DevTools控制台读取日志)
有一项服务 (mock.service.ts
) 使用 HttpClient
发出模拟 HTTP get 请求,请求到达 mock.interceptor.ts
并且它想要使用 [=回答模拟数据=11=](表示不想让请求通过网络),mock.service
在 app.component
中有一个订阅者正在等待 HttpClient
的响应。没有数据到达订阅者,也没有错误。
知道如何实现与 Observable.of
一起使用的拦截器吗?
尝试将拦截器拦截方法中的return语句改为:
return Observable.of( new HttpResponse<any>( { body: mockData }))
Observable.of
已弃用,请改用 Observable.create
return Observable.create((ob) => {
ob.next(new HttpResponse<any>({body: data}));
});