From d77da2602149f5f3e74d6db4fbf0f8ff5fc4778d Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Thu, 7 Mar 2019 11:02:20 -0800 Subject: [PATCH] grpc-js: deadline filter: reject promise if call ends --- packages/grpc-js/src/deadline-filter.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/grpc-js/src/deadline-filter.ts b/packages/grpc-js/src/deadline-filter.ts index fd52ebbc..4ca409c1 100644 --- a/packages/grpc-js/src/deadline-filter.ts +++ b/packages/grpc-js/src/deadline-filter.ts @@ -62,7 +62,13 @@ export class DeadlineFilter extends BaseFilter implements Filter { 'connectivityStateChanged', handleStateChange); } }; + const handleStatus = () => { + reject(new Error('Call ended')); + this.channel.removeListener( + 'connectivityStateChanged', handleStateChange); + }; this.channel.on('connectivityStateChanged', handleStateChange); + this.callStream.once('status', handleStatus); } }) .then((finalMetadata: Metadata) => {