Node.js逐行读取文件内容至Array数组中

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hsl0530hsl/article/details/88121676

项目整体结构如下:
在这里插入图片描述

详细代码如下:

//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 = '李四';

//readFileToArr.js
var fs = require("fs");
var readLine = require("readline");

/**
 * 按行读取文件内容
 *
 * @param fReadName 文件名路径
 * @param cb 回调函数
 *
 * @return 字符串数组
 */
function readFileToArr(fReadName, cb) {

    var arr = [];
    var readObj = readLine.createInterface({
        input: fs.createReadStream(fReadName)
    });

    readObj.on('line', function (line) {
        arr.push(line);
    });
    readObj.on('close', function () {
        console.log('readLine close....');
        cb(arr);
    });
}

readFileToArr('ObserverMode.js', function (arr) {
    console.log(arr);
});

猜你喜欢

转载自blog.csdn.net/hsl0530hsl/article/details/88121676