私はJavaScriptに初めてのことではありませんが、Angular2とJavaScript ES6 Promisesについて学んでいます。私はthis tutorialに取り組んでいます。 pokedex-service.ts
ファイルの構築に関するセクションでは、getPokemon()
機能の一部は次のようになります。.json()呼び出しに添付された.resultsプロパティとは何ですか?
getPokemon(offset: number, limit: number) {
return this.http.get(`${this.baseUrl}?offset=${offset}&limit=${limit}`)
.toPromise()
.then(response => response.json().results) //<- line in question
.then(
// ... etc ...
);
}
私は角度のHTTPサービスと、それはその後、(toPromise()
経由)の約束に変換された観測を返すことを理解しますが、私は次の行で何が起こるのか混乱しています: .then (response => response.json().results)
。
具体的には、response
がPromiseのプレースホルダであり、response.json()
がそのPromiseの結果をJSONオブジェクトに変換することを理解しています。しかしresponse.json()
の最後には.results
のプロパティがチェーンされていることがわかりません。
私はに対応するいずれかのAPIで、プロミスのプロパティであると思われるかもしれませんが、おそらくthe Promises APIをチェックしましたが、いずれのプロパティ(ORメソッド)も見つかりませんでした。この物件とは何ですか?それはどこから来たのですか?
さらに、単純にresponse.json()
を使用した場合とどのように違うのですか?その返り値が次のthen()
に渡されるのはどうでしょうか?
は、私は ')それは(.json'によって返された約束の解決された結果だったと思います。 – Ouroborus
誰かが彼がしてはならない約束の内部にアクセスしているように見えます。 – Bergi