Как я могу отправить ошибку по stream grpc nodejs?
Есть сервер и клиент. Хочу отправить на client stream ошибку и отловить её в функции on('error') на сервере.
channel.destroy(new Error("test")) выдает следующее сообщение
clientconst client = new protoDescriptor.grpc.CarService('localhost:50051', grpc.credentials.createInsecure());
let channel = client.streamCars((err,response)=>{
console.log(err,response);
});
let obj = {
cars: []
}
let count = 0;
let intervalId = setInterval(()=>{
count++;
obj.cars.push({});
channel.write(obj);
if (count > 3){
clearInterval(intervalId);
channel.end();
}
},1000);
serverconst protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
let streamCars = (call,callback) => {
call.on('data', (response) => {
console.log(response);
});
call.on('end', () => {
console.log('end server');
callback(null, {})
});
call.on('error', (response) => {
console.log(response);
});
call.on('status', (response) => {
console.log(response);
});
}
let server = new grpc.Server();
server.addService(protoDescriptor.grpc.CarService.service, {
streamCars
});
server.bind('0.0.0.0:50051', grpc.ServerCredentials.createInsecure());
server.start();