app.listen(5000, 'localhost') .once('listening', () => { console.log('Server started on 5000'); });
withSpinnerAsync(`Starting host on port ${port} ...`, (spinner) => { return new Promise<void>((resolve, reject) => { try { server.once('error', (err) => { reject(err); }); server.listen(port, () => { spinner.text = `Host now running on port ${port}`; resolve(); }); } catch (e) { reject(e); } }); })
_findPort (port) { return new Bluebird((resolve, reject) => { let onListening const onError = err => { this.server.removeListener('listening', onListening) if (err.code === 'EADDRINUSE') { return resolve(this._findPort(++port)) } else { return reject(err) } } onListening = () => { this.server.removeListener('error', onError) resolve(port) } this.server.once('error', onError) this.server.once('listening', onListening) this.server.listen(port) }) }
return new Promise<void>((resolve, reject) => { try { server.once('error', (err) => { reject(err); });