在以下示例中,如何获取多个api并分别加载数据?

时间:2019-02-11 09:43:41

标签: reactjs api fetch

我正在尝试获取多个API作为响应。第一个api成功获取并显示结果,但同一api的第二个和第三个给出错误“ TypeError:无法读取未定义的属性'data'”。我确信该api可以正常工作,因为它与第一个api是相同的api调用。

if(str1 != ""){
fetch('http://someapi/' + str1)
.then(response => response.json())
.then(data => this.setState({ result1: data }))
}
if(str2 != ""){
fetch('http://someapi/' + str2)
.then(response => response.json())
.then(data => this.setState({ result1: data }))
}
if(str3 != ""{
fetch('http://someapi/' + str3)
.then(response => response.json())
.then(data => this.setState({ result1: data }))
}

所有3个结果的预期输出

[{{name:a,age:1},{name:b,age:3}]

但是,在正确的响应存储进入状态的情况下,第一次获取成功。其余的api调用未完成其提取。

知道为什么会这样吗?和代码来解决这个问题?

0 个答案:

没有答案