完成后输出一次答案,而不是在每一行

Posted

技术标签:

【中文标题】完成后输出一次答案,而不是在每一行【英文标题】:Output the answer once when done, not on every line 【发布时间】:2022-01-21 20:25:43 【问题描述】:

我运行以下脚本并打印文件中每一行的输出,但我需要在上。有人请帮帮我

const fs = require("fs");
const readline = require("readline");
const stream = require("stream");

const filename = process.argv[2];
const instream = fs.createReadStream(filename);
const outstream = new stream();
outstream.readable = true;
outstream.writable = true;

const rl = readline.createInterface(
  input: instream,
  output: outstream,
  terminal: false,
);
const obj = ;
rl.on("line", function (line) 
  const [country] = line.split(",", 1);
  
    for (let i = 0; i < [country].length; i++)
      if (obj[country] != null) 
        obj[country] += 1;
       else 
        obj[country] = 1;
      
  
  console.log(obj);
);

【问题讨论】:

【参考方案1】:

可以使用close事件,该事件在读流关闭并处理完毕后调用。

rl.on("close", function (line) 
  console.log(obj);
);

【讨论】:

以上是关于完成后输出一次答案,而不是在每一行的主要内容,如果未能解决你的问题,请参考以下文章

在 perl 中关闭多个输出管道而不阻塞每个输出管道

一次运行多个mysql命令而不是在codeigniter中顺序运行?

利用STM32进行PWM脉冲输出,因输出的脉冲频率每4ms变化一次,如何能够准确的控制脉冲输出?

移动元素(秋季每日一题 35)

坑爹的杜神

C#关于winform线程更新form的文本框输出的问题