codecamp

RxJS elementAt

index从源 Observable 发出按发射顺序指定的单个值。

elementAt<T>(index: number, defaultValue?: T): MonoTypeOperatorFunction<T>

参量

defaultValue i从订阅以来发生的第i个源发射的数字0
默认值 可选的。默认值为undefined。对于缺少索引返回的默认值。

returns

MonoTypeOperatorFunction<T>:发出单个项目(如果找到)的 Observable。否则,将给出默认值。如果不是,则发出错误。

投掷

ArgumentOutOfRangeError使用时elementAt(i)error如果i < 0或在发出第i个next通知之前 Observable 已完成,它将 ArgumentOutOrRangeError 传递给 Observer 的回调。

描述

仅发出第 i 个值,然后完成。

elementAt大理石图

elementAt返回一个Observable,该对象index在源 Observable 中指定的位置发射该项目 ,或者返回默认值(如果index超出范围且default提供了参数)。如果default未提供参数且index超出范围,则输出Observable将发出 ArgumentOutOfRangeError错误。

仅发出第三次点击事件

import { fromEvent } from 'rxjs';
import { elementAt } from 'rxjs/operators';


const clicks = fromEvent(document, 'click');
const result = clicks.pipe(elementAt(2));
result.subscribe(x => console.log(x));


// Results in:
// click 1 = nothing
// click 2 = nothing
// click 3 = MouseEvent object logged to console

也可以看看

RxJS distinctUntilKeyChanged
RxJS endWith
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

RxJS operators

RxJS fetch

RxJS testing

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }