Rx订阅方法如何保留上下文而不传递它

时间:2016-04-19 12:30:18

标签: javascript angular rxjs

我正在使用带有Angular2的Rx,并且使用Subscribe方法,该方法的回调保留了调用它的组件(或类)的上下文,而不传递对它的任何引用。我的问题是他们是如何做到的?什么是Javascript技巧使它成为可能?

代码段:

this._userService.SignUpUser(this.model).subscribe(
     user => {
       this.newuser = user; // this, is actually same as the calling "this"? How does this work?      
       },
       error => this.errorMessage = <any>error  
);   

2 个答案:

答案 0 :(得分:3)

这是因为使用了一个提供词汇这个关键字的箭头功能。在这种情况下,this并不对应于执行函数的实例,而是与定义函数的实例对应。

它根本与Rx无关。

有关详细信息,请参阅此链接:

答案 1 :(得分:3)