我有一个名为data.ts的类。因为我有一个从各种组件调用的方法。此方法订阅来自其他服务的数据。在订阅事件完成时,我想处理从服务器接收的数据并调用已调用myFunction的组件的回调方法。这可能吗?如下所示:
myFunction(callback: function) {
otherService.getData().subscribe((res: Response) => {
//do some processing of response
caller.callback(processed_response)
});
}
答案 0 :(得分:2)
更方便的是返回Observable
然后从来电者订阅。
myFunction() : Observable<any>{
return otherService.getData();
}
来电者:
myFunction.subscribe((res: Response) => {
//use the response
});
答案 1 :(得分:1)
详细说明Fals&#39;根据您的评论提出的问题(因为您还没有得到更新的答案)。
您可以改用.map
。您可能之前已经映射过一次响应,但您可以多次映射。
myFunction() : Observable<any>{
return otherService.getData()
.map(res => {
return ... // your processing
})
}
然后.subscribe
:
myFunction.subscribe(data => {
//do whatever you like
});