问题标签 [switchmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - SwitchMap 在 Angular 中无法按预期工作
我有一个搜索服务返回结果,如果用户提交两次,只有最后一次搜索应该返回结果。
我在服务中有以下代码,视图(在别处更新)具有请求所需的所有帖子正文信息。
使用 this.searchService.getResults() 从代码中的其他地方调用此方法
`
从运行测试中我可以看到,如果我快速连续触发 3 次搜索,它们都会解决,而我只想要最后一个。
angular - switchMap 到 Angular HTTP-Request 是否需要取消订阅
我想知道在以下情况下是否必须取消订阅。我使用combineLatest
两个 angular observablesroute.params
和route.queryParams
. 为了将它们用作 http 请求中的参数,我调用switchMap
并返回 http 请求的 observable。然后我描述这个 observable。
现在我想知道我是否必须照顾订阅。通常我不会,因为 Angular 的 http 服务返回的 observable 在第一个值发出后完成。
在我目前的情况下,我不确定,因为原始的 observable 是通过调用创建的combineLatest
。
rxjs - 基于条件的 Rxjs 条件 switchMap
我有如下情况:
所以如果条件为假我只需要执行一个请求,如果条件为真,我必须将第一个请求链接到下一个请求,它们本质上是对服务器 api 的两个请求。
有没有更好的解决方案而不返回null
?
RxJs 中有条件运算符吗?
谢谢!
angular - rxjs地图操作员在switchMap之后没有在管道中触发
当谈到 rxjs 时,我认为自己非常精明,但我无法弄清楚我做错了什么。我正在尝试通过将我的用户登录转换为效果来学习 ngrx。我的效果正确触发,并且从我的服务器返回了正确的令牌响应(通过登录控制台验证),但地图操作员从未在我的效果中被触发。
这是我的效果代码:
以及我的服务层中的请求:
}
我曾尝试使用 flatMap 和 mergeMap 以防我在 ngrx 文档中遗漏了某些内容,但这些都不起作用。
我的运营商正在像这样被导入:
让我知道我是否可以提供其他任何东西...谢谢!
angular - RxJS switchMap 并将响应传递给另一个操作员
假设我有这样的代码:
第一个是http get,它返回我可以发布新照片的url,第二个是http put,我必须上传照片,第三个是http post,我必须确认照片已上传到该url。
我的问题是可以将 url 传递给第二个 switchMap 吗?在第二个 switchMap 我有来自 uploadPhotoToProviderdUrl 方法的响应,但我怎样才能从以前的方法获得响应?
javascript - RxJs and switchMap
i want create search engine in my website. I want to use switchMap to cancel previous request, because this function run async.
I getting data from input by keyup, example:
TypeScript
}
I would like to use switchMap and timer here, but what will not change, it always does not work, does anyone have idea how to refactorize this code to work with switchMap and timer from RxJs?
My example in stackblitz:
https://stackblitz.com/edit/angular-playground-53grij?file=app%2Fapp.component.ts
angular - Angular 6 & Rxjs 6 switchMap / 如何将第一个 observable 的结果传递给另一个 observable
我在使用 switchMap 时遇到问题。我想做的是:
1) 从 Firestore DB 中获取第一个对象/对象的属性作为 Observable
2)使用第一个 Observable 的属性并进行另一个 Firestore 调用以获取另一个 Observable - 这取决于第一个 - 。
我的问题是,如何将第一个 observable 的结果动态传递给第二个 observable?
有什么帮助吗?
用户服务:
任务服务:
我的组件.ts:
angular - 如何通过 RX.js 在另一个流中使用参数?
如果我想将返回值从第一个流传递到第二个流,我使用switchMap
.
如果我想在第二个中使用第一个流中的参数,但我不想进行 2 订阅,我应该使用什么?
angular - 在 Angular2+ 中使用带有 Kedno UI Gid 的 switchMap
我将 Kendo UI 用于带有数据绑定的 Angular Grid。我有两种服务:一种是从过滤器组件向网格组件发出搜索事件,另一种是(基于 BehaviorSubject)调用 API。
我使用的与 Grid 进行数据绑定的方式是基于 Kendo 示例。问题是当用户在过滤器输入中输入文本时如何使用 switchMap 来取消 API 请求。我知道 switchMap 运算符,但我不知道如何在基于 Kendo UI Grid 的服务中使用它。我尝试了很多方法都没有成功,我没有更多的想法。我的代码如下:
Grid 组件中使用的 API 服务方法
网格组件方法
我应该在哪里以及如何使用 switchMap?谢谢您的帮助。
编辑
用于发出事件的过滤器组件方法
HTML
TS
搜索服务
rxjs6 - 类型 'Observable<(T | R[])[]>' 不可分配给类型 'Observable<[T, R[]]>
我正在尝试将数据从两个可观察对象映射到第三个,例如
但我收到以下异常
我发现 switchMap 中的 resultSelector 在 rxJs6 中已被弃用,这就是我尝试这种方法的原因。却被困在这里。