菜单
开源

Stream.on()

设置 gRPC 流上各种事件的处理程序函数。

参数类型描述
eventstring要定义处理程序的事件名称。
handlerEventHandler事件发生时要调用的函数。

可能的事件

事件名称描述
data当服务器发送数据时发出。
error发生错误时发出。如果发生错误,会将一个 Error 对象发送到处理程序函数。
end当服务器关闭传入流时发出。

示例

JavaScript
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);
};