gpt4 book ai didi

angular - 使用 rxjs 运算符是否可以获得倒数第二个值

转载 作者:行者123 更新时间:2023-12-02 15:57:27 25 4
gpt4 key购买 nike

这是使用rxjs运算符的示例代码,我想打印/获取倒数第二个值。

typescript

import { from } from 'rxjs';
import { map, last } from 'rxjs/operators';

//emit (1,2,3,4,5)
const source = from([1, 2, 3, 4, 5]);
//add 10 to each value
const example = source.pipe(map(val => val + 10)).pipe(last());
//output: 11,12,13,14,15
const subscribe = example.subscribe(val => console.log(val));

目前它打印 15 但我希望它打印 14

最佳答案

您可以使用takeLast()skipLast RxJS 运算符。

takeLast() 运算符允许您

Emits only the last count values emitted by the source Observable.

skipLast()运算符

Skip the last count values emitted by the source Observable.

现在,我们可以组合两个可管道运算符,这样我们将获取最后 2 个计数,并跳过最后一个计数。

import { range, from } from 'rxjs';
import { takeLast, map, skipLast} from 'rxjs/operators';

const source = from([1, 2, 3, 4, 5]);

const example = source
.pipe(
map(val => val + 10),
takeLast(2),
skipLast(1)
);

example.subscribe(res => console.log(res));

这是一个demo .

关于angular - 使用 rxjs 运算符是否可以获得倒数第二个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59721430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com