我需要让所有用户都拥有特定的API并拥有API网址(例如:https://example.com/api/userType/1/
)及其特定数据,这些数据会存储所有用户的数组及其唯一的API网址,例如
{
name: "Type 1",
...
users: [
"https://example.com/api/user/1/",
"https://example.com/api/user/18/",
"https://example.com/api/user/40/",
...
]
...
}
我想用vanilla JS显示所有这些用户,特别是fetchData
函数。我认为进行一次API调用然后遍历该API调用中的所有用户(在then
promise函数中)是不明智的 - 对其唯一的API url进行另一次API调用。我正在考虑创建一个带有两个函数进行API调用的闭包函数,但是我不确定这样做的最佳实践是什么。有关如何正确执行此操作的任何建议吗?
答案 0 :(得分:4)
async function getUsers(){
const { users } = (await fetch ("https://example.com/api/userType/1/")).json();
return Promise.all(users.map(user => fetch(user).then(req => req.json()));
}