RxJS在call和regular observable之间有所不同

时间:2018-01-12 05:48:20

标签: javascript rxjs

例如,我在ngrx源代码中看到他们使用ThemeResource

call

上述代码与:

之间有什么区别?
pluck.call(route.params, 'id');

在使用observable时我们什么时候需要使用route.params.pluck('id');

1 个答案:

答案 0 :(得分:2)

当您使用call时,您明确地给出了函数的上下文 - this在函数中引用。

查看通话之间的区别。

function test() {
  console.log(this.n);
}

const obj = { n: 'Your Name' };

test();
test.call(obj);

<强>更好的即可。感谢 @cartant 。根据他的评论编辑答案

建议库用户使用调用机制,这样他们就不会使用库客户端可能意外依赖的运算符修补Observable.prototype。如果库要修补并稍后删除运算符,则客户端代码可能会中断。这对图书馆作者来说很乏味,现在可以使用管道和可管理/可管理的操作员来避免它