Как отловить ошибку Prismic API в next.js getInitialProps без сбоев сайта?

Есть ли способы отловить ошибку Prismic API в next.js getInitialProps без сбоя сайта, когда, например, prismic не работает?

Ниже моя попытка с помощью try...catch... но, похоже, это не работает

static async getInitialProps (context) {
    await initApp(context)

    try {
      const response = Prismic.api(buildConfig.cmsApiEndpoint)
        .then(api => {
          return api.query(Prismic.Predicates.at('my.seo_story_product_details.uid', query.slug))
        })

      const doc = get(response, 'results[0].data.description')

      return { doc }
    } catch (error) {
      console.log('error:', error)
    }
}

2 ответа

В своем коде вы используете try catch но вы не переносите свой асинхронный вызов initApp, Вы упаковываете только свой вызов Prismic.api, который обрабатывается классическим способом then а также catch,

Так что, если ваше приложение не работает, я довольно уверен, что оно исходит от initApp и если вызов Prismic.api потерпит неудачу, у вас будет ошибка, как unhandled promise exception,

Не могли бы вы поделиться своей трассировкой стека, чтобы мы могли помочь вам больше?

Может быть, это поможет вам: как предотвратить сбой node.js? пробная ловля не работает

Я думаю node.process тоже... Может быть, вы можете заставить Node не завершать процесс после этого исключения (и обязательно сначала зарегистрировать его)?

Тем не менее, может быть, это не API, а вы код? Можете ли вы показать нам исключение?

Другие вопросы по тегам