
rxjs流元素操作(筛选偶数并乘以2)的疑惑
想要使用rxjs对流中的元素进行操作,例如筛选偶数并将其乘以2,但发现操作无效。以下代码展示了遇到的问题:
import { from } from 'rxjs'; // 使用 from 代替 ofimport { 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为何无效?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1498673.html
微信扫一扫
支付宝扫一扫