art*_*urr 5 http request promise typescript angular
我是Typescript和Angular2的新手,我正在尝试在http get请求中创建promise,但是下面的代码(正确的return this.http.get(url)行给了我错误:
error TS2346: Supplied parameters do not match any signature of call target.
在我的服务中我有方法 isLoggedIn
isLoggedIn(): Promise<Object> {
return this.http.get('/some/path')
.map((res: Response) => res.json())
.toPromise();
}
Run Code Online (Sandbox Code Playgroud)
然后我想在我的组件中使用它,如下所示:
onInit() {
this.login.isLoggedIn()
.then((data: any) => {
if (data.hasOwnProperty('status') && data.status === 401) {
this.router.navigate(['/Login']);
} else {
this.router.navigate(['/Home'])
}
});
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找如何使用http请求并承诺正确的方式,但我找不到任何好的描述.
快速浏览一下 Angular 源码:
static toPromise(obj: Observable<any>): Promise<any> { return (<any>obj).toPromise(); }
显示该toPromise方法应该收到一个Observable<any>(您的电话是toPromise():)
我想这就是错误的原因
| 归档时间: |
|
| 查看次数: |
7270 次 |
| 最近记录: |