首页 > 解决方案 > 在下面的示例中,如何获取多个 api 并单独加载数据?

问题描述

我正在尝试在反应中获取多个 api。第一个 api 成功获取并显示结果,但同一 api 的第二个和第三个给出错误“TypeError:无法读取未定义的属性'数据'”。我确信 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 个结果的预期输出

[{姓名:a,年龄:1},{姓名:b,年龄:3}]

但是,第一次获取成功,并将正确的响应存储到状态中。api 调用的其余部分没有完成它的获取。

知道为什么会这样吗?以及解决此问题的代码?

标签: reactjsapifetch

解决方案


推荐阅读