了解nodejs`readline`行为

时间:2018-07-11 16:15:30

标签: node.js readline

我正在尝试使用nodejs中的内置readline模块,无法理解这个简单程序中发生了什么

'use strict';

const fs = require('fs');
const readline = require('readline');

let count = 0;
let max = 10;

const lineReader = readline.createInterface({
    input: fs.createReadStream('verybigfile.txt')
});

lineReader.on('line', function(line) {
    count++;
    if (count > max) {
        lineReader.close();;
    }

    console.log(count);
});

上面的代码打印出1 .. 138,然后停止。实际上,对于max的任何值,它一直计数到138,直到137。对于max,从138到275,它输出1 ..276。对于276到415,它输出1 .. 416,等等。不用说,我希望它可以打印到max,然后由于rl.close()

而停止

这是怎么回事?

0 个答案:

没有答案