我可以在angular中将方法传递给observable作为结果处理程序吗?
我有以下代码:我可以在angular中将方法传递给observable作为结果处理程序吗?,angular,Angular,我有以下代码: someService.doSomething().subscribe(result=>{ this.handleMyResult(result) } 我想这样做: someService.doSomething().subscribe(this.handleMyResult); 这在100%的情况下不起作用。我想这里可能有一些sytax问题,因为确实调用了handleMyResult,但传入的参数是未定义的 有可能使它工作吗?这很有效 someService.d
someService.doSomething().subscribe(result=>{
this.handleMyResult(result)
}
我想这样做:
someService.doSomething().subscribe(this.handleMyResult);
这在100%的情况下不起作用。我想这里可能有一些sytax问题,因为确实调用了handleMyResult
,但传入的参数是未定义的
有可能使它工作吗?这很有效
someService.doSomething().subscribe(this.handleMyResult);
并传入结果,但要在this.handleMyResult
方法中使用this
组件范围,必须将其绑定
someService.doSomething().subscribe(this.handleMyResult.bind(this));
好吧,我明白了,所以它不会让我的代码更漂亮。事实上,这是意料之中的事。谢谢我会在5分钟内接受So
this.handleMyResults
等于MyClass.prototype.applyNewShipmentData
啊那讨厌的javascript:)你说传入的参数是未定义的,但你的意思是说this
的值是未定义的吗?如果是这样,请阅读,以便更好地理解这个
,然后更好地理解为什么箭头函数“修复”了这个问题。很高兴知道它被称为“箭头函数”-我不知道。为什么它能工作我可以想象,因为我知道java中的lambads和匿名类(尽管其中没有this
context)以及PHC中的闭包,而让我好奇的是,为什么问题会被否决,而正确的答案会得到可能的反馈