首页 > 解决方案 > GET 请求对象作为 Promise.all 输入

问题描述

我正在尝试做这样的事情:

const { dailies, yesterdayDailies, members } = await Promise.all({
          dailies : api.get(`/daily/${currentDate}`),
          yesterdayDailies : api.get(`/daily/${currentGoalsDate}`),
          members : api.get(`/allMembers`)
        });

console.log(dailies, yesterdayDailies, members);

我需要传递一个获取请求对象,然后对其进行解构以获取他们的数据,但我得到了:

TypeError: Argument of Promise.all is not iterable

它可以传递一个 GET 请求数组,但我不想这样做。有没有办法做到这一点?

标签: javascriptnode.js

解决方案


您可以解构数组:

const [ 
  dailies, 
  yesterdayDailies,
  members
] = await Promise.all([
  api.get(`/daily/${currentDate}`),
  api.get(`/daily/${currentGoalsDate}`),
  api.get(`/allMembers`)     
]);

请参阅数组解构


推荐阅读