【发布时间】:2017-03-07 01:32:36
【问题描述】:
我在一个类中有两个函数
第一个函数返回 Observable。
从其他组件调用第二个函数
我想在第二次调用第一个函数,使用第一个的值并处理它。
示例代码:
@Injectable()
export class SampleService {
service:string;
getService(): Observable<any> {
return this._http.get(`url`, {
headers: this.headers()
}).map(res=>res.json();)
.catch(err=>console.log(err);
}
}
generateToken():string{
const service="";
this.getService().subscribe(res=>{service=res});
//process it
return service;
}
每当我调用第二个函数时,服务的值都会返回为空。如何等待订阅结束后再处理。
【问题讨论】:
-
我不清楚
2)的确切含义。 -
@GünterZöchbauer 编辑我需要在第二个函数中观察到值
-
什么是“第二功能”?
-
第一个函数=>getService() 第二个函数=>generateToken() @GünterZöchbauer
-
你不能返回一个从可观察对象获得的值