我正在测试我的react应用程序中的gRPC流媒体。尽管我有点麻烦。
我们已经测试了bloom中的流,它每2秒成功地流一个事件,最多8个流。
然而,当我在React应用程序中尝试时,流会启动,然后很长一段时间内什么也不会发生(大约等于完成所有数据流所需的时间),然后它只会一次注销所有数据。
我就是这样设置组件的:
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
等待+15秒
然后
8 lines of responses
.
如前所述,在bloom中,它按预期每2秒成功地发送一个新流。不像在我的React应用程序中,它只是等待很长时间,然后触发
on data
在“我的网络”选项卡中,streamvents也会在挂起的启动中被jsut,持续+15秒。