angular - 从 HTTP Observable 响应中获取单个属性
问题描述
对于您的 RxJS 专业人士来说,这应该是一件容易的事。
我正在使用 Angular 5。
我想做这样的事情:
this.allFilters = this.http.get(path).pipe(
map((response) => response.forms.sim_filter.schema.properties))
响应是沼泽标准对象,而不是数组,所以我不确定地图是否正确。
所以基本上,我只对深度嵌套的属性感兴趣,并且只想在订阅时访问它this.allFilters
请问我该怎么做?
解决方案
这与 Rx 无关,这更像是一个 JS 问题。
allFilters
是您的代码中的一个 Observable,它是您通过 HTTP 调用分配的。
当您订阅它时,您将收到在您的管道中返回的内容map
,在您的情况下:
this.allFilters = this.http.get(path).pipe(
map((response) => response.forms.sim_filter.schema.properties))
this.allFilters.subscribe (res => { /* res = originalResponse.forms.sim_filter.schema.properties */});
您可以使用它map
,因为这与 JS 对象/数组无关,而是与 RxJS 本身相关(这是一个 Rx 运算符)。这本来可以称为RxJSmap
,这只是一个通缉的巧合。
除此之外,我不明白你的问题是什么。什么不工作?你在期待什么?你能再解释一下吗?
推荐阅读
- c - 指向数组的指针、malloc 和越界访问
- javascript - 循环遍历javascript数组不会产生正确的结果
- javascript - 如何在js中打印部分sql错误信息
- c - 可以在信号量内调用 wait_event 吗?
- recursion - 使用简单递归从未排序列表中构建二叉搜索树
- api - 使用 MS Graph Rest APi 将文件上传到文档集
- android - leftOf / endOf 不应该像编程方式(RelativeLayout)Android中的xml一样工作
- qt - 使用新的铬版本构建 WebEngine 5.15.2
- javascript - adobe jsx 设置填充和描边在脚本完成之前不会更新
- c# - 忽略正则表达式搜索中的模式错误,不要使搜索崩溃