美文网首页
Rxjs merge 学习笔记

Rxjs merge 学习笔记

作者: 华山令狐冲 | 来源:发表于2021-08-04 09:43 被阅读0次

官方链接:https://rxjs-dev.firebaseapp.com/api/index/function/merge

Creates an output Observable which concurrently emits all values from every given input Observable.

创建一个输出 Observable,它同时发出来自每个给定输入 Observable 的所有值。

merge subscribes to each given input Observable (as arguments), and simply forwards (without doing any transformation) all the values from all the input Observables to the output Observable. The output Observable only completes once all input Observables have completed. Any error delivered by an input Observable will be immediately emitted on the output Observable.

merge 订阅每个给定的输入 Observable(作为参数),并简单地将所有输入 Observable 的所有值(不做任何转换)转发到输出 Observable。 输出 Observable 仅在所有输入 Observable 完成后才完成。 输入 Observable 传递的任何错误都将立即在输出 Observable 上发出。

看一个例子:

import { merge, fromEvent, interval } from 'rxjs';
 
const clicks = fromEvent(document, 'click');
const timer = interval(1000);
const clicksOrTimer = merge(clicks, timer);
clicksOrTimer.subscribe(x => console.log(x));

输出:


另一个例子:

import { merge, interval } from 'rxjs';
import { take } from 'rxjs/operators';
 
const timer1 = interval(1000).pipe(take(10));
const timer2 = interval(2000).pipe(take(6));
const timer3 = interval(500).pipe(take(10));
const concurrent = 2; // the argument
const merged = merge(timer1, timer2, timer3, concurrent);
merged.subscribe(x => console.log(x));
 
// Results in the following:
// - First timer1 and timer2 will run concurrently
// - timer1 will emit a value every 1000ms for 10 iterations
// - timer2 will emit a value every 2000ms for 6 iterations
// - after timer1 hits its max iteration, timer2 will
//   continue, and timer3 will start to run concurrently with timer2
// - when timer2 hits its max iteration it terminates, and
//   timer3 will continue to emit a value every 500ms until it is complete

输出:


更多Jerry的原创文章,尽在:"汪子熙":


相关文章

  • Rxjs merge 学习笔记

    官方链接:https://rxjs-dev.firebaseapp.com/api/index/function/...

  • 第1章 函数响应式编程

    注: 学习程墨老师《深入浅出RxJS》的笔记 RxJS采用了函数响应式编程。RxJS世界中有一种特殊的对象,称为流...

  • Rxjs系列教程目录

    RxJS-中文文档RxJS-中文指南 rxjs学习入门心得(一)Observable可观察对象rxjs学习入门心得...

  • RxJS 学习笔记

    安装 导入整个核心功能集 创建Observables 在外部产生新事件 在内部产生新事件

  • 第2章 RxJS入门

    注: 学习程墨老师《深入浅出RxJS》的笔记 。 1、Observable和Observer Observable...

  • 创建数据流

    注: 学习程墨老师《深入浅出RxJS》的笔记在RxJS中,一切都以数据流为中心,数据流以Observable类的实...

  • 学习笔记——>RxJS 合并数据流

    学习笔记-RxJS合并数据流 合并类操作符(combination) 全览 contact 首尾相连

  • RxJS学习笔记1

    前置:我目前的学习资料是30天精通RxJS,那个时候的RxJS是5.x版本,而目前最新版本是RxJS 6,所以资料...

  • RxJS学习笔记(1)

    RxJS 概述 RxJS全名Reactive Extensions for JavaScript,起源于React...

  • RxJs SwitchMap 学习笔记

    网址:https://www.learnrxjs.io/learn-rxjs/operators/transfor...

网友评论

      本文标题:Rxjs merge 学习笔记

      本文链接:https://www.haomeiwen.com/subject/oevyyltx.html