javascript - node/javascript () () 语法 - 它到底是如何工作的?

标签 javascript node.js rxjs arrow-functions

帮助我理解这段代码,尽管 map( x => x*x) 在代码行中排序为第一个,而 of (1,2,3) 在代码行中排序为第二,但 of (1,2,3) 的输出如何通过管道传输到 map( x => x*x)

map(x => x*x) (of (1,2,3)).subscribe((value)=> console.log(`value : ${value}`))

同样可以写成下面的,我很好理解,但不能写在上面..

of(1,2,3).pipe(map(x => x*x)).subscribe((value)=> console.log(`value : ${value}`))

仅供引用,两者都是正确的,并且返回值1,4,9

如果您在编辑器中尝试相同的操作,请包含以下导入

import {of} from 'rxjs'
import {map} from 'rxjs/operators'

最佳答案

这实际上是 RxJS 文档中的一个示例,上面已进行了解释:

A Pipeable Operator is essentially a pure function which takes one Observable as input and generates another Observable as output. Subscribing to the output Observable will also subscribe to the input Observable.

所以这意味着map(x => x*x)返回一种函数,它接受一个Observable作为参数并返回另一个Observable。然后我们使用 (of(1,2,3)) 调用该函数并获得最终结果,实际上等于 of(1,2,3).pipe(map(x => x*x))

关于javascript - node/javascript () () 语法 - 它到底是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59781642/

相关文章:

rxjs - 迁移到新版本后,NestJS 上的 forkJoin 不起作用

javascript - 如何在 javascript 中访问我的积分?

PHP 转义字符

javascript - 如何使表没有固定 <thead> 标题

javascript - 使用下划线从 JavaScript 中的对象列表中提取值

javascript - 错误 : request entity too large

javascript - 如何使用 Vue 构建动态 CSS 网格?

javascript - 查询 Mongo 获取今天添加的所有条目(新手)

javascript - 如何组合 2 个或多个 observables 以便您知道哪个发出了?

javascript - RxJS ReplaySubject 观察者长度在下一个之后不会增加