may*_*ele 1 observable rxjs typescript angular-http angular
我有同样的挑战是在SO后的面孔在这里,我的订阅方法越来越不确定我component.ts,即使在我的服务,我有数据.请参阅p.component.ts下面的代码
private getPayItems():void{
console.log('In getPayItems');
this._payItemService.getPayItems()
.subscribe(data => {
this.payItemArray = data;
console.log(data);
},
(error:any) =>{
this.alerts.push({ msg: error, type: 'danger', closable: true });
})
}
Run Code Online (Sandbox Code Playgroud)
p.service.ts
getPayItems():Observable<Payitem[]>{
let actionUrl = this.url + "/GetPayItem";
return this._http.get(actionUrl, { headers: this.headers })
.map((response: Response) => {
<Payitem[]>response.json() ;
console.log(<Payitem[]>response.json()); //This logs the Object
})
.catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)
正如你所使用{}它需要明确的回报function.所以你必须<Payitem[]>response.json()从map功能返回.
getPayItems():Observable<Payitem[]>{
let actionUrl = this.url + "/GetPayItem";
return this._http.get(actionUrl, { headers: this.headers })
.map((response: Response) => {
console.log(<Payitem[]>response.json()); //This logs the Object
return <Payitem[]>response.json() ;
})
.catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)
否则以下将是速记语法
getPayItems():Observable<Payitem[]>{
let actionUrl = `${this.url}/GetPayItem`;
return this._http.get(actionUrl, { headers: this.headers })
.map((response: Response) => <Payitem[]>response.json())
.catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5254 次 |
| 最近记录: |