我正在尝试使用:map(this.service.method)
而不是:map((data) => this.service.method(data))
但是卡玛告诉我:
Failed: argument is not a function. Are you looking for `mapTo()`?
和mapTo
不是我想在那里使用。
我正在尝试使用的服务方法:
get method() {
return (data) => { ... }
}
编辑:
根据您的评论,我不认为问题出在方法本身。如果问题仅在测试中提出,那么this.service
似乎有一些其他值而不是实际服务(但不是undefined
,因为错误将是“无法读取未定义的属性method
。”)
我担心你没有提供服务方法的完整代码。我觉得里面可能有一个条件,当你实例化Observable
时,this.service.method
getter返回null
或undefined
。原因是创建运算符时的同步性 - 在调用map(this.service.method)
时返回函数get的getter - 即刻。当observable触发时,只有作为参数提供给map
的函数才会被异步调用。
如果我是对的,那么你能够做到这一点的唯一方法就是你已经提到过的方式。
map((data) => this.service.method(data))