私はたぶん些細なことだが、私はTypescriptで新しいAPIをフェッチする。エクスポートされたクラスで 私のようなパブリックメソッドremoteFetchSomething
ありますTypescript:Promiseの応答を返すメソッドの内部でfetch API呼び出しを構造化する方法
export class className {
remoteFetchSomething = (url : string) : Promise<Response> => {
return fetch(url)
.then(
(r) => r.json()
)
.catch((e) => {
console.log("API errore fetching " + objectType);
});
}
}
export const classInstance = new className();
の方法は、リモートJSON APIサービスを照会し、コードで私はそれが好きで使用しています:
import { classInstance } from ...
classInstance.remoteFetchSomething('https://example.url')
.then((json) => {
console.log(json);
}
)
console.log
が実際にあります結果は表示されますが、remoteFetchSomething
はPromiseを返し、jsonオブジェクトの値を解析してアクセスできません。
私は残りのコードを実行する前に応答を待っていますが、どのように私は約束からコンテンツをアンラップしますか?私はもう一度.then
を置くべきですか?私は何が欠けていますか?ありがとうございました。
申し訳ありませんが、私の質問かもしれませんが明確ではなかった:問題は約束hainingとwaitを実行すると、それはremoteFetchSomethingメソッドの戻り型に関するものでした。つまり、 'Response'となりました。反対側のjsonを解析できませんでした。 メソッドの戻り値の型を 'any'に定義すると正しく動作します。 –
christo