等待返回Observable

时间:2019-03-03 14:30:58

标签: typescript async-await rxjs

我在Typescript代码中存在以下错误,但无法理解没有任何编译时间或运行时错误的可能性。

this.getApiClient().getStuffFromTheApi()

getStuffFromTheApi返回一个Observable<Stuff[]>。 现在,当我在没有await的情况下使用此方法调用toPromise()时,什么也没有发生。 为什么编译器无法对此进行检查,为什么没有运行时错误?如何使代码更安全,以便更轻松地发现此类错误?

编辑: 声明是 getStuffFromTheApi():可观察的{....}

1 个答案:

答案 0 :(得分:0)

此代码等待Observable响应完成

let response: Observable<any> = ...;
await response;

此代码等待响应给出序列的第一个值

let response: Observable<any> = ...;
await response.toPromise();

方法getStuffFromTheApi()可能返回Observable,该值给出了值,但从未完成