diff --git a/lib/http/base.js b/lib/http/base.js index a997263a..889c6148 100644 --- a/lib/http/base.js +++ b/lib/http/base.js @@ -812,10 +812,10 @@ HTTPBase.prototype.address = function address() { HTTPBase.prototype.listen = function listen(port, host) { return new Promise((resolve, reject) => { let addr; - this.server.listen(port, host, (err) => { - if (err) - return reject(err); + this.server.once('error', reject) + + this.server.listen(port, host, () => { addr = this.address(); this.emit('listening', addr); diff --git a/lib/net/tcp.js b/lib/net/tcp.js index 5daec677..37b47c37 100644 --- a/lib/net/tcp.js +++ b/lib/net/tcp.js @@ -41,7 +41,8 @@ tcp.createServer = function createServer() { ee.listen = function listen(port, host) { return new Promise((resolve, reject) => { - server.listen(port, host, wrap(resolve, reject)); + server.once('error', reject) + server.listen(port, host, resolve); }); };