相当于 Java 方法引用的 TypeScript
TypeScript equivalent of Java method references
我对 TypeScript 有点陌生,不过我很了解 Java。在那里,每当需要满足功能接口时,最常见的是使用 lambda 表达式 (->
) 或方法引用 (::
).
Lambda 表达式在这两种语言之间似乎是等价的(如果我错了请纠正我)。有没有办法利用方法引用?
当目标是实现这个:
this.entryService.getEntries()
.subscribe(entries => this.listUpdateService.send(entries));
有没有办法使用函数引用?下面的做法似乎是错误的,因为 send
没有在 this.listUpdateService
的范围内执行。 (顺便说一句,它在哪个范围内执行?)
this.entryService.getEntries()
.subscribe(this.listUpdateService.send);
你说得对,范围不是this.listUpdateService
。
如果你想坚持正确的范围,你通常使用bind
。
this.entryService.getEntries()
.subscribe(this.listUpdateService.send.bind(this.listUpdateService));
我对 TypeScript 有点陌生,不过我很了解 Java。在那里,每当需要满足功能接口时,最常见的是使用 lambda 表达式 (->
) 或方法引用 (::
).
Lambda 表达式在这两种语言之间似乎是等价的(如果我错了请纠正我)。有没有办法利用方法引用?
当目标是实现这个:
this.entryService.getEntries()
.subscribe(entries => this.listUpdateService.send(entries));
有没有办法使用函数引用?下面的做法似乎是错误的,因为 send
没有在 this.listUpdateService
的范围内执行。 (顺便说一句,它在哪个范围内执行?)
this.entryService.getEntries()
.subscribe(this.listUpdateService.send);
你说得对,范围不是this.listUpdateService
。
如果你想坚持正确的范围,你通常使用bind
。
this.entryService.getEntries()
.subscribe(this.listUpdateService.send.bind(this.listUpdateService));