Angular Http带有可观察性

时间:2017-07-31 23:51:06

标签: angular typescript observable

我知道这有很多问题,但我尝试了很多提示并且问题仍然存在。

我实现了一个返回一个observable的get:

public getEstatisticasPara(motorista:Motorista): Observable<EstatisticaAvaliacao> {
    let params = new URLSearchParams();
    params.set(Config.ESTATISTICA_AVALIACAO_REQUEST_PARAM, motorista.getId().toString());

    let options = new RequestOptions({ headers: this.headers, params: params });

    return this.http.get(this.path, options)
                    .map((res) => res.json) 
                    .catch(this.handleError);
}

当我尝试订阅总是得到一个未定义的:

 atualizaMediaAvalicaoes(){
  let motorista:Motorista = FlyweightFactory.getInstanceOf("motorista");
  motorista.setId(1);
  this.estatisticaAvaliacaoProvider.getEstatisticasPara(motorista)
                                   .subscribe((res)=>{
                                        console.log(JSON.stringify(res));
                                        let estatisticaAvaliacao:EstatisticaAvaliacao = EstatisticaAvaliacao.fromJson(res);
                                        this.storage.set("mediaAvaliacao", estatisticaAvaliacao.getMedia());
                                    },(err)=>{
                                        console.log(err);
                                    });
}

网络控制台显示正确的响应...为什么未定义? = /

1 个答案:

答案 0 :(得分:0)

这个

.map((res) => res.json)

应该是这样的:

.map((res) => res.json())

请注意附加的括号。