RxJs组合最新运算符

combineLatest有一个说明一切的名字:操作符将两个或多个可观察对象的最新值组合成一个可观察对象。

这张大理石图完美地说明了这种行为(点击图片可以访问交互式版本):

该操作符有几种可能的用例。最常见的用法是通过组合不同的源来过滤信息,如下图所示RxJs和Angular表单的动态过滤教程,它实现了相当于自动补全文本输入的功能,每当用户输入新字符时,就会显示新的建议。

我们得到了什么combineLatest由组合的可观察对象发出的所有最新值组成的数组。例如,如果我们订阅组合最新(obs1, obs2, obs3),我们得到的数据是一个数组,包含[lastValueFromObs1, lastValueFromObs2, lastValueFromObs3].数组中数据的顺序与传递可观察对象的顺序相匹配combineLatest,该数组的值将再次发射,每当其中一个可观察对象再次发射。

一个常见的陷阱combineLatest操作符是否等待所有可观察的源至少发出一个值才返回某个值,因此将它与startWith操作符,如这个例子来自我们之前的教程

注意:操作符将被重命名为combineLatestWith在RxJs 8+

betway必威滚球

Alain是谷歌开发专家,擅长Web技术、Angular和谷歌地图。他的日常任务是帮助开发团队采用Angular,并使用该框架进行大规模构建。他在六大洲都教授过Angular !阿兰是一名世界旅行家和摄影师,也是国际会议的演讲者,并出版了几门视频课程。