Как отловить ошибку 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, а вы код? Можете ли вы показать нам исключение?