例如,我在 ngrx 源中看到,他们使用 call
.
pluck.call(route.params, 'id');
上面的代码和:
route.params.pluck('id');
我们什么时候需要使用call
什么时候使用可观察量?
最佳答案
当您使用call
时,您显式给出函数的上下文 - this
在函数中引用。
查看调用之间的差异。
function test() {
console.log(this.n);
}
const obj = { n: 'Your Name' };
test();
test.call(obj);
更好。感谢@cartant。根据他的评论编辑答案
建议库作者使用该调用机制,这样他们就不会使用库客户端可能意外依赖的运算符来修补 Observable.prototype。如果库要修补并随后删除运算符,则客户端代码可能会损坏。这对于库作者来说是乏味的,现在可以使用管道和可管道/可出租运算符来避免它
关于javascript - RxJS 调用和常规可观察之间的不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48220286/