多个JS api调用

时间:2018-04-02 17:26:34

标签: javascript api

我需要让所有用户都拥有特定的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调用的闭包函数,但是我不确定这样做的最佳实践是什么。有关如何正确执行此操作的任何建议吗?

1 个答案:

答案 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()));
 }