Сериализация ошибок с помощью getStaticProps — nextjs

#javascript #next.js

Вопрос:

Это моя функция getTopGifts:

 export async function getTopGifts() {
const data = [{"id":1,"title":"test"}]

return data
}
 

но когда я использую вышеуказанную функцию при ошибке:

 export async function getStaticProps() {
  // fetch list of gifts
  const gifts = getTopGifts()
  console.log(typeof(_gifts))
  return {
    props: {
      gifts: gifts
    },
  }
}
 

моя ошибка:

 Error: Error serializing `.gifts` returned from `getStaticProps` in "/gifts".
Reason: `object` ("[object Promise]") cannot be serialized as JSON. Please only return JSON serializable data types.
 

Ответ №1:

Вы создали getTopGifts async функцию, попробуйте использовать await ее для определения значения getTopGifts . Без await этого остается невыполненное обещание:

 export async function getStaticProps() {
  // fetch list of gifts
  const gifts = await getTopGifts()
  console.log(typeof(gifts));
  return {
    props: {
      gifts,
    },
  }
}
 

Надеюсь, это поможет!