.map の中で async, await を使用する

2594 ワード

背景

mapの中でasync, awaitを使用したくなった!
どうすればいいんだ〜〜、Promise.all使ったらいけそう?
いけた〜〜〜〜!

解決策

Promise.all()を使用する

実際のコード

hoge.ts
export const getStaticProps = async () => {
  const postData = await Promise.all(
    genres.map(async (genreItem) => ({
      genre: genreItem.genreName,
      posts: await getAllPost(genreItem.id),
    })),
  );

  return {
    props: {
      postData
    },
  };
};