Stream.on()
设置 gRPC 流上各种事件的处理程序函数。
参数 | 类型 | 描述 |
---|---|---|
event | string | 要定义处理程序的事件名称。 |
handler | EventHandler | 事件发生时要调用的函数。 |
可能的事件
事件名称 | 描述 |
---|---|
data | 当服务器发送数据时发出。 |
error | 发生错误时发出。如果发生错误,会将一个 Error 对象发送到处理程序函数。 |
end | 当服务器关闭传入流时发出。 |
示例
import { Client, Stream } from 'k6/net/grpc';
import { sleep } from 'k6';
const client = new Client();
client.load([], '../../grpc_server/route_guide.proto');
export default () => {
if (__ITER == 0) {
client.connect('127.0.0.1:10000', { plaintext: true });
}
const stream = new Stream(client, 'main.RouteGuide/RecordRoute');
// sets up a handler for the data (server sends data) event
stream.on('data', (stats) => {
console.log('Finished trip with', stats.pointCount, 'points');
console.log('Passed', stats.featureCount, 'features');
console.log('Traveled', stats.distance, 'meters');
console.log('It took', stats.elapsedTime, 'seconds');
});
// sets up a handler for the end event (stream closes)
stream.on('end', function () {
// The server has finished sending
client.close();
console.log('All done');
});
// sets up a handler for the error event (an error occurs)
stream.on('error', function (e) {
// An error has occurred and the stream has been closed.
console.log('Error: ' + JSON.stringify(e));
});
sleep(1);
};