角度4とサーバー側のレンダリングから始めていますが、現在、私は外部APIのデータの一部をフェッチする概念を取得しようとしています。そのAPIはJsonオブジェクトを返します。角度4のデータをフェッチする
サイトはかなり上手く描かれていましたが、レンダリングされていないデータを取得する呼び出しが含まれるようになりました。私が得ようとしているレスポンスは、 app.components.tsで
は、私が追加:
private apiUrl= 'https://myapi/Users';
data: any = {};
constructor(private http: Http){
this.getUsers();
this.getData();
}
getData(){
let res=this.http.get(this.apiUrl).map((res: Response)=>res.json());
console.log("result:",res)
return res;
}
getUsers(){
this.getData().subscribe(data=>{
this.data=data;
})
}
さて、あなたはしかし、私はこれを取得しています、私はコンソールでHTTP呼び出しの結果を印刷していますgetDataメソッドでは、見ることができるように。
Observable {
_isScalar: false,
source: Observable { _isScalar: false, _subscribe: [Function] },
operator: MapOperator { project: [Function], thisArg: undefined } }
なぜjsonオブジェクトが表示されないのですか?それは理由だろうか?
これは正しい。あなたの 'res'は実際には' Observable'であり、データそのものではありません。オブザーバブルは非同期です。実際のデータを見るには 'console.log'を' subscribe() 'で実行してください。コールバック関数を呼び出すか、 'map'コールバック関数の中でそれを見ることができます。 – CozyAzure