Я пытаюсь проверить потоковую передачу gRP C в своем приложении реакции. Хотя у меня проблемы. Мы проверили нашу потоковую передачу в цвету, и она успешно передает событие каждые 2 секунды до 8 потоков.
Однако, когда я пробую его в своем приложении React, поток запускается, тогда в течение некоторого времени ничего не происходит ( примерно равное времени, которое требуется для завершения sh потоковой передачи всех данных), затем он только регистрирует все данные одновременно.
Вот как я настроил свой компонент:
const MyComponent = () => {
const startStream = () => {
console.log('stream start')
const streamer = myService.testStreaming(new Empty(), {})
streamer.on('error', err => console.log({ err }))
streamer.on('status', status => console.log({ status }))
streamer.on('data', response => console.log(response.toObject()))
streamer.on('end', () => console.log('stream end'))
}
useEffect(() => {
startStream()
}, [])
return null
}
Как упомянуто выше, мой вывод stream start
wait + - 15 секунд затем 8 lines of responses
.
Как уже упоминалось, в цвету он успешно отправляет через новый поток каждый 2 секунды, как и ожидалось. В отличие от моего приложения React, где оно просто долго ждет, а затем немедленно запускает обратный вызов on data
.
На моей вкладке «Сеть» StreamEvents также находится в состоянии ожидания запуска в течение + - 15 секунд.