Обработка ошибок с реагированием SSR renderToNodeStream
Я пытаюсь выяснить, как правильно обрабатывать ошибки с реагирующими потоками. Допустим, есть ошибка внутри <App />
, Каков наилучший способ отловить ошибку? Кажется, что блок catch не перехватывает ошибку, так как он ничего не записывает, когда я выдаю ошибку внутри <App />
составная часть. Я пытался добавить stream.on('error', (err) => {console.log(err)});
и это тоже не ловит ошибку. Как я должен поймать ошибку в приложении на стороне сервера?
try {
const header = <div>Hello</div>
const footer = <div>Bye</div>
const sheet = new ServerStyleSheet();
const jsx = sheet.collectStyles(<App />);
const stream = sheet.interleaveWithNodeStream(renderToNodeStream(jsx));
ctx.body = multi_stream([
string_stream(header),
stream,
string_stream(footer)
]);
} catch (err) {
console.log('There is an error', err);
ctx.throw(err.status, 'Failed to SSR');
}