登录
首页 >  文章 >  前端

RxJS流中筛选偶数并乘以2为何无效?

时间:2024-11-25 22:12:56 359浏览 收藏

从现在开始,努力学习吧!本文《RxJS流中筛选偶数并乘以2为何无效?》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

RxJS流中筛选偶数并乘以2为何无效?

rxjs流元素操作(筛选偶数并乘以2)的疑惑

想要使用rxjs对流中的元素进行操作,例如筛选偶数并将其乘以2,但发现操作无效。以下代码展示了遇到的问题:

import { from } from 'rxjs'; // 使用 from 代替 of
import { map, filter } from 'rxjs/operators';

const e = from([1, 2, 3, 4, 5]);
e.pipe(
  filter(item => item % 2 === 0),
  map(num => num * 2)
).subscribe(v => console.log(v));

然而,应用程序并没有打印任何数据。

解决方案

代码中使用of创建了一个 observable,它会立即发出给定值,然后完成。但是,在这个例子中,我们需要一个可以按顺序发出给定数组元素的 observable。因此,应该使用from运算符,它将给定的数组转换成一个 observable,按顺序发出这些元素。

修改后的代码如下:

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

const e = from([1, 2, 3, 4, 5]);
e.pipe(
  filter(item => item % 2 === 0),
  map(num => num * 2)
).subscribe(v => console.log(v));

现在,代码将正确输出筛选出的偶数乘以2的结果。

理论要掌握,实操不能落!以上关于《RxJS流中筛选偶数并乘以2为何无效?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>