Skip to content

Commit

Permalink
http: replace finish() callback with arrow function
Browse files Browse the repository at this point in the history
Take advantage of arrow function lexical `this` to avoid defining a
`self = this` var which was only used once.

Code relating to the `finish` event was split in to two areas of the
parent function. Gathered it together to clarify association within the
script.

Fixes: #7295
PR-URL: #7378
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
originalfoo authored and Fishrock123 committed Jul 5, 2016
1 parent 44bc638 commit e7b8400
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions lib/_http_outgoing.js
Original file line number Diff line number Diff line change
Expand Up @@ -546,14 +546,6 @@ OutgoingMessage.prototype.end = function(data, encoding, callback) {
return false;
}

var self = this;
function finish() {
self.emit('finish');
}

if (typeof callback === 'function')
this.once('finish', callback);

if (!this._header) {
if (data) {
if (typeof data === 'string')
Expand Down Expand Up @@ -581,6 +573,13 @@ OutgoingMessage.prototype.end = function(data, encoding, callback) {
this.write(data, encoding);
}

if (typeof callback === 'function')
this.once('finish', callback);

const finish = () => {
this.emit('finish');
};

if (this._hasBody && this.chunkedEncoding) {
ret = this._send('0\r\n' + this._trailer + '\r\n', 'binary', finish);
} else {
Expand Down

0 comments on commit e7b8400

Please sign in to comment.