rxjs在subscribe中返回一个值

时间:2017-11-27 05:33:14

标签: angular rxjs reactivex

export function singleMapServiceFactory(mapServiceFactory: MapServiceFactory) 
{
   return mapServiceFactory.switchSingleMapService().subscribe((service)=>{
       return service
   })
   // return service;
}

上面的代码是一个有角度的提供者工厂,我希望返回'服务',但它在一个可观察的内部,我该怎么做?非常感谢

1 个答案:

答案 0 :(得分:0)

考虑返回一个observable而不是一个服务对象本身。然后,您可以在调用函数中订阅observable以获取服务对象。

   export function singleMapServiceFactory(mapServiceFactory: MapServiceFactory) 
    {
       // return an observable;
       return mapServiceFactory.switchSingleMapService()

    }

    function callingFunction(mapServiceFactory){
       singleMapServiceFactory(mapServiceFactory).subscribe((service)=>{
           //Here goes your logic
       })

    }