Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在process.stdin nodejs上发出事件结束_Javascript_Node.js - Fatal编程技术网

Javascript 如何在process.stdin nodejs上发出事件结束

Javascript 如何在process.stdin nodejs上发出事件结束,javascript,node.js,Javascript,Node.js,嗨,我有这个简单的代码部分 'use strict'; const fs = require('fs'); process.stdin.resume(); process.stdin.setEncoding('utf-8'); let inputString = ''; let currentLine = 0; process.stdin.on('data', inputStdin => { inputString += inputStdin; }); process.s

嗨,我有这个简单的代码部分

'use strict';

const fs = require('fs');

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});

process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(str => str.trim());

    main();
});

function readLine() {
    return inputString[currentLine++];
}

/*
 * Complete the simpleArraySum function below.
 */
function simpleArraySum(ar) {
    console.log(ar);

}

function main() {
    const ws = fs.createWriteStream(process.env.OUTPUT_PATH);

    const arCount = parseInt(readLine(), 10);

    const ar = readLine().split(' ').map(arTemp => parseInt(arTemp, 10));

    let result = simpleArraySum(ar);

    ws.write(result + "\n");

    ws.end();
}

我想在控制台中进行测试,但我不知道如何发送我输入完毕的数据,现在我希望我的程序能够运行。你能告诉我怎么做吗?(CTRL+D不起作用)

我正在输入新的输入,它永远不会结束。。。如何修复它

这就是它在终端中的工作方式(或不工作)


提前谢谢,祝你有愉快的一天

首先,确保正确安装了node js(如果您想从命令提示符访问它,请确保它存储为一个环境变量,您可以在这里找到如何操作:)然后打开命令提示符,指向文件存储的目录,运行
node yourfilename.js
,它应该可以工作。是的,我知道,但问题出在这里。我知道如何在node.js程序上运行。。把我的程序想象成两部分:输入和输出。我的问题是:我不知道如何退出第一部分(输入部分)。你说的“CTRL+D不工作”是什么意思?我刚刚运行了您的代码,Ctrl+D在实际的终端中运行,而不是在IDE内置终端中运行。可能会有问题,因为我已经编辑了我的帖子。。这是在terminalFirst中运行它的结果,请确保正确安装了node js(如果您想从命令提示符访问它,请确保它存储为环境变量,您可以在此处找到如何操作:)然后打开命令提示符,指向文件存储的目录,运行
node yourfilename.js
,它应该可以工作。是的,我知道,但问题出在这里。我知道如何在node.js程序上运行。。把我的程序想象成两部分:输入和输出。我的问题是:我不知道如何退出第一部分(输入部分)。你说的“CTRL+D不工作”是什么意思?我刚刚运行了您的代码,Ctrl+D在实际的终端中运行,而不是在IDE内置终端中运行。可能会有问题,因为我已经编辑了我的帖子。。这是在终端中运行它的结果