kar*_*sys 6 rxjs typescript angular
这是使用rxjs运算符的示例代码,我想打印/获取倒数第二个值。
打字稿
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));
Run Code Online (Sandbox Code Playgroud)
目前它可以打印,15但我希望它改为打印14。
wen*_*jun 10
您可以使用takeLast()和skipLast RxJS 运算符。
该takeLast()运营商允许你
仅
count发出源 Observable发出的最后一个值。
而skipLast()运营商
跳过
count源 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));
Run Code Online (Sandbox Code Playgroud)
这是一个演示。
| 归档时间: |
|
| 查看次数: |
3546 次 |
| 最近记录: |