【发布时间】:2017-08-24 12:56:52
【问题描述】:
为什么这两段代码的工作方式不同?
const a = new Rx.Subject;
const b = new Rx.Subject;
a.combineLatest( b ).map( merge => _.every( merge ) ).subscribe( r => console.log( "r:", r ) );
a.next( true );
b.next( true );
输出:r: true
const a = new Rx.Subject;
const b = new Rx.Subject;
a.combineLatest( b ).map( _.every ).subscribe( r => console.log( "r:", r ) );
a.next( true );
b.next( true );
输出:r: false
这两个在语法上不是等价的吗?
【问题讨论】:
-
看起来和我一模一样,你能提供一个可调试的例子吗?
-
@jontro 我的错,这些狙击手并不相同:map() 运算符使用 2 个参数调用传递的投影仪函数,这会改变 lodash 的 every() 函数行为。
标签: javascript ecmascript-6 rxjs lodash