如何在 angular 中从 observable 转换为 promise
How to convert from observable to promise in angular
我想从可观察对象中创建一个承诺。我有以下两个功能
public getData(info: Info): Promise<Data> {
return new Promise((resolve,reject) => {
this.getObsData(info).subscribe((data:Data) => {
resolve(data);
}
});
}
getObsData(info: Info): Observable<Data> {
this.anhttpservice(a,b,c).switchMap(data=>
return Observable.create(observer=> {observer.next(new Data(data))});
}
}
我一直收到来自 getObsData()
的错误,如下所示。
error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value.
我是 angular 2 和 promises/observables 的新手,所以我肯定做错了什么
您是否尝试过在调用 Observable 后使用 IDE 自动完成? ...
this.getObsData(info).toPromise();
this.anhttpservice(a,b,c).toPromise();
(虽然我建议坚持使用 observables,但这是您的选择)
我想从可观察对象中创建一个承诺。我有以下两个功能
public getData(info: Info): Promise<Data> {
return new Promise((resolve,reject) => {
this.getObsData(info).subscribe((data:Data) => {
resolve(data);
}
});
}
getObsData(info: Info): Observable<Data> {
this.anhttpservice(a,b,c).switchMap(data=>
return Observable.create(observer=> {observer.next(new Data(data))});
}
}
我一直收到来自 getObsData()
的错误,如下所示。
error TS2355: A function whose declared type is neither 'void' nor 'any' must return a value.
我是 angular 2 和 promises/observables 的新手,所以我肯定做错了什么
您是否尝试过在调用 Observable 后使用 IDE 自动完成? ...
this.getObsData(info).toPromise();
this.anhttpservice(a,b,c).toPromise();
(虽然我建议坚持使用 observables,但这是您的选择)