问题描述
因此,我需要从REST API中获取相关数据。数据A在数据B中具有一些关键信息,因此有必要确保在数据A之前获取(和加载)数据B。
在React中做到这一点的最好方法是什么?我用递归函数解决了这个问题,该函数接受字符串数组作为API端点,然后一次触发它,但是我想知道这是React中顺序API调用的正确方法吗?
解决方法
如果Fetch(A)将依赖于Fetch(B),那么您可以简单地利用async-await顺序执行此操作。
async () => {
const res = await fetch(URL_FOR_B); // get data B first
const data = await res.json();
const nextRes = await fetch(URL_FOR_A,{ param: data.params });
const nextData = await nextRes.json();
console.log("Data at the end: ",nextData);
};
还有其他方法:then
带有Promise
的换行符,但是await
是干净的并且可以按顺序读取。