From d9e53efabc8831477a26db2c6460581b983e3665 Mon Sep 17 00:00:00 2001 From: Weijia Wang <381152119@qq.com> Date: Mon, 20 Nov 2017 00:11:24 +0800 Subject: [PATCH] fs: use arrow functions instead of `.bind` and `self` --- lib/fs.js | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/lib/fs.js b/lib/fs.js index 01edc7411a5c02..a53290274c331e 100644 --- a/lib/fs.js +++ b/lib/fs.js @@ -2091,30 +2091,27 @@ ReadStream.prototype._read = function(n) { return this.push(null); // the actual read. - var self = this; - fs.read(this.fd, pool, pool.used, toRead, this.pos, onread); - - // move the pool positions, and internal position for reading. - if (this.pos !== undefined) - this.pos += toRead; - pool.used += toRead; - - function onread(er, bytesRead) { + fs.read(this.fd, pool, pool.used, toRead, this.pos, (er, bytesRead) => { if (er) { - if (self.autoClose) { - self.destroy(); + if (this.autoClose) { + this.destroy(); } - self.emit('error', er); + this.emit('error', er); } else { var b = null; if (bytesRead > 0) { - self.bytesRead += bytesRead; + this.bytesRead += bytesRead; b = thisPool.slice(start, start + bytesRead); } - self.push(b); + this.push(b); } - } + }); + + // move the pool positions, and internal position for reading. + if (this.pos !== undefined) + this.pos += toRead; + pool.used += toRead; }; ReadStream.prototype._destroy = function(err, cb) { @@ -2209,7 +2206,7 @@ fs.FileWriteStream = fs.WriteStream; // support the legacy name WriteStream.prototype.open = function() { - fs.open(this.path, this.flags, this.mode, function(er, fd) { + fs.open(this.path, this.flags, this.mode, (er, fd) => { if (er) { if (this.autoClose) { this.destroy(); @@ -2220,7 +2217,7 @@ WriteStream.prototype.open = function() { this.fd = fd; this.emit('open', fd); - }.bind(this)); + }); }; @@ -2234,15 +2231,14 @@ WriteStream.prototype._write = function(data, encoding, cb) { }); } - var self = this; - fs.write(this.fd, data, 0, data.length, this.pos, function(er, bytes) { + fs.write(this.fd, data, 0, data.length, this.pos, (er, bytes) => { if (er) { - if (self.autoClose) { - self.destroy(); + if (this.autoClose) { + this.destroy(); } return cb(er); } - self.bytesWritten += bytes; + this.bytesWritten += bytes; cb(); });