此错误是什么意思:类型'{<T>(this:Observable <T>)'不存在'属性'then'?

时间:2019-06-28 15:28:24

标签: angular http promise

我遇到了一个以前从未遇到过的奇怪错误,并且找不到与之相关的帖子。

错误是:

Property 'then' does not exist on type '{ <T>(this: Observable<T>): Promise<T>; <T>(this: Observable<T>, PromiseCtor: PromiseConstructor)...'.

我从使用.subscribe切换为使用.toPromise().then()。我在其他几个HTTP请求上也做了同样的事情,没有任何问题。不知道这有什么不同。

在服务中,我具有以下功能:

getData(user: string) {
    var url = some url
    let httpOptions = {
        headers: new HttpHeaders({
            some headers
          }),
          withCredentials: true };
    return this.http.get(url, httpOptions);
  }

然后在我拥有的组件中

this._apiService.getData(lan).toPromise.then((information: any) =>
   {
        console.log(information)
   });

我在其他三个http请求上做了一些非常相似的事情,而没有得到这个问题,并且服务调用的设置也完全相同,组件功能也是如此。这个错误是什么意思?

1 个答案:

答案 0 :(得分:1)

您缺少括号()

toPromise().then( /*your code here*/)

下面是一个示例https://codecraft.tv/courses/angular/http/http-with-promises/