diff --git a/src/server.tsx b/src/server.tsx index 2c7984a6e..6e75c93ec 100644 --- a/src/server.tsx +++ b/src/server.tsx @@ -41,13 +41,13 @@ declare interface Server { class Server extends EventEmitter { connections: Map; - secureServer: Promise>; - insecureServer: Promise>; + secureServer: Promise> | null; + insecureServer: Promise> | null; certificateProvider: CertificateProvider; connectionTracker: ConnectionTracker; logger: Logger; store: Store; - initialisePromise: Promise; + initialisePromise: Promise | null; constructor(logger: Logger, store: Store) { super(); @@ -55,12 +55,9 @@ class Server extends EventEmitter { this.connections = new Map(); this.certificateProvider = new CertificateProvider(this, logger); this.connectionTracker = new ConnectionTracker(logger); - // eslint-disable-next-line prefer-promise-reject-errors - this.secureServer = Promise.reject(); - // eslint-disable-next-line prefer-promise-reject-errors - this.insecureServer = Promise.reject(); - // eslint-disable-next-line prefer-promise-reject-errors - this.initialisePromise = Promise.reject(); + this.secureServer = null; + this.insecureServer = null; + this.initialisePromise = null; this.store = store; } @@ -280,8 +277,9 @@ class Server extends EventEmitter { if (this.initialisePromise) { return this.initialisePromise.then(_ => { return Promise.all([ - this.secureServer.then(server => server.stop()), - this.insecureServer.then(server => server.stop()), + this.secureServer && this.secureServer.then(server => server.stop()), + this.insecureServer && + this.insecureServer.then(server => server.stop()), ]).then(() => undefined); }); }