codecamp

RxJS takeLast

count发出源 Observable 发出的最后一个值。

takeLast<T>(count: number): MonoTypeOperatorFunction<T>

参量

计数 从源 Observable 发出的值序列的末尾要发出的最大值数。

returns

MonoTypeOperatorFunction<T>:一个 Observable,最多发出源 Observable 发出的最后一个计数值。

投掷

ArgumentOutOfRangeError使用时takeLast(i),如果,它将 ArgumentOutOrRangeError 传递给观察者的error回调i < 0

描述

记住最新的 count值,然后仅在源完成时才发出这些值。

takeLast大理石图

takeLast返回一个 Observable,它最多count发出源 Observable 发出的最后一个值。如果源发出的count 值少于值,则将发出其所有值。该操作员必须等到 complete从源发出通知后,才能next 在输出 Observable 上发射值,因为否则无法知道是否在源上发射更多的值。因此,所有值都将同步发出,然后发出完整的通知。

取具有多个值的 Observable 的最后3个值

import { range } from 'rxjs';
import { takeLast } from 'rxjs/operators';


const many = range(1, 100);
const lastThree = many.pipe(takeLast(3));
lastThree.subscribe(x => console.log(x));

也可以看看

RxJS take
RxJS takeUntil
温馨提示
下载编程狮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; }