如何解决检查/修改 RxJS Observable 实例
private processRequest<T>(request: Observable<T>,...): Promise<T> {...}
request 是一个 HttpClient Observable
processRequest(httpClient.get(url,...));
...
processRequest(httpClient.post(url,...));
...
- 是否可以在 processRequest 中检索 url?如果是如何?如果不是为什么?
- 是否可以在 processRequest 中更改 url?如果是如何?如果不是为什么?
解决方法
是否可以在 processRequest 中检索 url? [...] 如果不是为什么?
一般意义上,在f(g(x))
中,f
无法访问x
,因为它只能看到g
返回的内容,而该返回值不必完全了解 x
。将 g = u => 42
视为一个不保留有关其输入的信息的函数的简单示例。
如果返回值保留该信息,它会工作。例如,对于 g = u => u
(身份函数),f
当然会知道 x
,因为这正是传递给它的内容。不过,这需要 f
具备此特定知识。
由于 HttpClient#get
返回 Observable
,但这里并非如此。如果您考虑到 url
是特定于 HttpClient
逻辑的信息,而 Observable
源于对 Angular 一无所知的 RxJs,那么这可以直观地理解。更直接地,只需检查 Obervable
的类型即可看到。
是否可以更改 processRequest 中的 url? [...] 如果不是为什么?
这很明显,但您无法更改无法访问的内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。