fs: use arrow functions instead of .bind and self

PR-URL: https://github.com/nodejs/node/pull/17137
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Weijia Wang 2017-11-20 00:11:24 +08:00 committed by James M Snell
parent 3701b02309
commit a68b8b708f

View File

@ -2091,30 +2091,27 @@ ReadStream.prototype._read = function(n) {
return this.push(null); return this.push(null);
// the actual read. // the actual read.
var self = this; fs.read(this.fd, pool, pool.used, toRead, this.pos, (er, bytesRead) => {
fs.read(this.fd, pool, pool.used, toRead, this.pos, onread); if (er) {
if (this.autoClose) {
this.destroy();
}
this.emit('error', er);
} else {
var b = null;
if (bytesRead > 0) {
this.bytesRead += bytesRead;
b = thisPool.slice(start, start + bytesRead);
}
this.push(b);
}
});
// move the pool positions, and internal position for reading. // move the pool positions, and internal position for reading.
if (this.pos !== undefined) if (this.pos !== undefined)
this.pos += toRead; this.pos += toRead;
pool.used += toRead; pool.used += toRead;
function onread(er, bytesRead) {
if (er) {
if (self.autoClose) {
self.destroy();
}
self.emit('error', er);
} else {
var b = null;
if (bytesRead > 0) {
self.bytesRead += bytesRead;
b = thisPool.slice(start, start + bytesRead);
}
self.push(b);
}
}
}; };
ReadStream.prototype._destroy = function(err, cb) { ReadStream.prototype._destroy = function(err, cb) {
@ -2209,7 +2206,7 @@ fs.FileWriteStream = fs.WriteStream; // support the legacy name
WriteStream.prototype.open = function() { 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 (er) {
if (this.autoClose) { if (this.autoClose) {
this.destroy(); this.destroy();
@ -2220,7 +2217,7 @@ WriteStream.prototype.open = function() {
this.fd = fd; this.fd = fd;
this.emit('open', 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, (er, bytes) => {
fs.write(this.fd, data, 0, data.length, this.pos, function(er, bytes) {
if (er) { if (er) {
if (self.autoClose) { if (this.autoClose) {
self.destroy(); this.destroy();
} }
return cb(er); return cb(er);
} }
self.bytesWritten += bytes; this.bytesWritten += bytes;
cb(); cb();
}); });