繁体   English   中英

angular2如何将回调方法从组件传递到类(typescript文件)

[英]angular2 how to pass callback method from component into class (typescript file)

我有一个名为data.ts的类。 因为我有一个从各种组件调用的方法。 此方法订阅来自其他服务的数据。 在订阅事件完成时,我想处理从服务器接收的数据并调用已调用myFunction的组件的回调方法。 这可能吗? 如下所示:

myFunction(callback: function) {
    otherService.getData().subscribe((res: Response) => {
        //do some processing of response
        caller.callback(processed_response)
    });
}

应该更方便的是返回Observable然后从调用者订阅。

myFunction() : Observable<any>{
    return otherService.getData();
}

在来电者:

myFunction.subscribe((res: Response) => {
        //use the response
});

根据您的评论详细说明Fals的问题(因为您没有得到更新的答案)。

您可以改用.map 您可能先前已映射过响应,但您可以多次映射。

 myFunction() : Observable<any>{
    return otherService.getData()
      .map(res => {
         return ... // your processing
      })
}

然后.subscribe

myFunction.subscribe(data => {
   //do whatever you like
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM