reactjs - 在下面的示例中,如何获取多个 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 调用的其余部分没有完成它的获取。
知道为什么会这样吗?以及解决此问题的代码?
解决方案
推荐阅读
- python - 如何使用 Jupyter 在 1 个笔记本中导入 2-3 个笔记本
- python - 无法使用 Python 检测文本文件中的行
- sql - 如何在 T-SQL 中的 select 语句中放置条件
- python - Pandas:如何按一列分组并显示每组所有其他列的唯一值的计数?
- monit - 容错计数器解决方法/替代方案
- go - 如何在不同型号的路由器上执行命令
- vue.js - 在 Vuejs 中有条件地关闭插入
- r - 在 R 的两个不同列中计算 0,1
- node.js - Node.js 12 的 TypeScript tsconfig 设置?
- c++ - ISO C++ 禁止指针和整数之间的比较 [-fpermissive] [c++]