RxJS skipUntil

2020-10-13 10:13 更新

返回一个 Observable,它跳过源 Observable 发出的项目,直到第二个 Observable 发出一项为止。

skipUntil<T>(notifier: Observable<any>):MonoTypeOperatorFunction<T>

参量

通知者 第二个 Observable 必须在源 Observable 的元素开始被生成的 Observable 镜像之前发射一个项目。

returns

MonoTypeOperatorFunction<T>:一个 Observable,它从源 Observable 跳过项目,直到第二个 Observable 发射一个项目,然后发射其余项目。

描述

skipUntil操作者使可观察到的流,以跳过值的发射,直至通过在可观察到的发射的第一个值。与用户交互, http 请求的响应或等待特定时间一起使用时,此功能特别有用。

skipUntil大理石图

在内部,skipUntil运算符订阅传入的 observable(在以下称为 notifier),以便识别其第一个值的发出。发生这种情况时,操作员将退订通知者,并开始发出 可观察到的值。如果通知程序完成或引发错误而之前未发出任何值,则它将永远不会让可观察的发出任何值。

在以下示例中,将跳过所有可观察到的时间间隔的发射值,直到用户单击页面中的任何位置为止。

import { interval, fromEvent } from 'rxjs';
import { skipUntil } from 'rxjs/operators';


const intervalObservable = interval(1000);
const click = fromEvent(document, 'click');


const emitAfterClick = intervalObservable.pipe(
  skipUntil(click)
);
// clicked at 4.6s. output: 5...6...7...8........ or
// clicked at 7.3s. output: 8...9...10..11.......
const subscribe = emitAfterClick.subscribe(value => console.log(value));
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号