1. ホーム
  2. javascript

[解決済み] async/await関数で「response.jsonは関数ではありません」を修正する方法

2022-02-19 09:07:24

質問

レスポンスをjsonにしようとしています。私は、私が取得していることをよく理解していない TypeError: response.json is not a function というエラーが発生します。どなたか正しい方向を教えてください。よろしくお願いします。

    componentDidMount(){
        this.timingFunction = setInterval(() => this.getAllStations(), 1000);
    }


    async getAllStations(){
        try{
            const response = await(`http:api.bart.gov/api/etd.aspx?cmd=etd&orig=${this.state.selectedStation}&key=${bartKey}&json=y`);
            const data = await response.json();
            console.log(`Here: ${data}`)


        }catch(e){
            console.log(`Error: ${e}`)
        }

    }

jsonのレスポンスが表示されると思ったのですが、エラーメッセージが表示されました。 edit: response.json();の前にawaitを追加しましたが、どこにもたどり着けませんでした。

どうすればいいですか?

fetch(またはapiからデータを取得するために使用するその他のもの)の呼び出しが欠落しているのです。今現在は、以下のように間違っているようです。 await を関数に置き換えてください。

const response = await(`http:api.bart.gov...

(の後にある2つのスラッシュも抜けています)。 http が、それはまだ問題ではありません)。

これを試してみてください。

const response = await fetch(`http://api.bart.gov...