请参考:
ES5 使用 NodeJS 逐行读取文件的内容
简单搭建 ES6 的运行环境
在 ES6 中使用 NodeJS 实现逐行读取文件内容,具体代码实现如下:
先看一下目录结构:
//ObserverMode.js
const queuedObservers = new Set();
const observe = fn => queuedObservers.add(fn);
const observable = obj => new Proxy(obj, {
set});
function set(target, key, value, receiver) {
const result = Reflect.set(target, key, value, receiver);
queuedObservers.forEach(observer => observer());
return result;
}
const person = observable({
name: '张三',
age: 20
});
function print() {
console.log(`${
person.name}, ${
person.age}`)
}
observe(print);
person.name = '李四';
//readFileByLine.js
import fs from "fs";
import readLine from "readline";
const init = Symbol("init");
const readObj = Symbol("readObj");
class ReadFileByLine {
constructor(file) {
this.file = file;
}
read(cb) {
this[init]();
this[readObj].