-1
スクリプト(ブロック1)を作成しましたが、配列にanythignをインポートできません。JavaScriptスクリプトのファイルコードがノード内のコマンドと異なる動作をする
var fs = require('fs');
var readline = require('readline');
var filename = process.argv[2];//filename
var content = [];
console.log(filename);
readline.createInterface({
input: fs.createReadStream(filename),
terminal: false
}).on('line', function (line) {
content.push(line);
});
console.log(content.length);
ブロック2:(各ラインは入力順次)
fs = require('fs');
readline = require('readline');
filename = "filename.txt";
content = [];
readline.createInterface({
input: fs.createReadStream(filename),
terminal: false
}).on('line', function (line) {
content.push(line);
});
content;
iはコードを取得し、行ずつ、それを実行する場合(ブロック2)コマンドラインノードには
ブロック1正常に動作します
ブロック1のconsole.log(filename)
が正しい名前を出力しますが、console.log(content.length)
は "0"を出力します。ノードREPLの内容には1700以上のエントリがあります。
私はLinux環境でノードv6.9.4を使用しており、同じコンピュータ上で両方のブロックを実行しています。 私はここに何かが欠けているのですか?
おかげ
コンソールにstuffを入力するので、ファイル内の行のコードを実行するときに、非同期操作が完了するのに十分な時間が与えられます。 – James