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
返回一个 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));