我想从一个可观察的角度创建一个承诺。我有以下两个功能
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.
我是棱角分明2和承诺/观察者的新手所以我必须做一些明显错误的事情
答案 0 :(得分:3)
在调用Observable后,您是否尝试使用IDE自动完成? ......
this.getObsData(info).toPromise();
this.anhttpservice(a,b,c).toPromise();
(Altough我建议坚持观察,但这是你的选择)