如何修复 async/await 函数中的“response.json 不是函数”

IT技术 javascript reactjs
2021-04-27 08:14:08

试图将我的回复转换为 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 响应,但收到错误消息。编辑:在 response.json() 前面添加了 await;却无处可去。

2个回答

您缺少对 fetch 的调用(或用于从 api 获取数据的任何其他方法)。现在看起来你误认为await是一个函数。

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

(你也错过了后面的两个斜线,http但这还不是问题。)

试试这个:

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

您正在使用 await 作为函数

await 是一个只等待Promise而不是做的系统

const response = await('http:...');

你应该做

const response = await fetch('http:...');