我遇到了一个以前从未遇到过的奇怪错误,并且找不到与之相关的帖子。
错误是:
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
请求上做了一些非常相似的事情,而没有得到这个问题,并且服务调用的设置也完全相同,组件功能也是如此。这个错误是什么意思?
答案 0 :(得分:1)
您缺少括号()
toPromise().then( /*your code here*/)
下面是一个示例https://codecraft.tv/courses/angular/http/http-with-promises/