2017-07-17 17 views
0

大きなファイル(19MB)を読み込み、私のマングースDBにデータを挿入しています。私のコンソールがそこに座っているファイルを反復処理する以外は、すべてうまく動作します。コンソールを終了させるか、終了したら関数を実行するようにプログラムに指示するのですか?ファイルを1行ずつ読み込み、終了時に何らかのアクションを実行します(NodeJS)

function prepareDatabase(){ 
    let lineReader = require('readline').createInterface({ 
    input: require('fs').createReadStream('names.tsv') 
    }); 

    lineReader.on('line',(line)=>{ 
    let elements = line.split('\t'); 
    let Entry = new ChebiEntry(); 
    Entry.name = elements[4] 
    Entry.id = elements[1]; 
    Entry.save(); 
    console.log(`Inserted ${Entry.name}`); 
    }); 
    return; // This does not do anything?! 
} 
+0

デシベルの接続を閉じる、または 'process.exit' – frozen

答えて

1

ファイル全体が読み込まれたときに、ラインリーダーにコールバックがあります。

lr.on('end', function() { 
    process.exit(); 
}); 
+0

ありがとうございました!私はそれをprocess.exit()に変更しなければならなかった。 – Raven

+0

@Ravenは問題ありません。それがあなたが必要とするものならば、正しい答えをマークしてください。そうすることで、質問が完了します。 – SimplyComplexable

関連する問題