Мне удается решить эту проблему с помощью построчного модуля, и теперь вывод точный, как и ожидалось. вот код

уйста, рассмотрите код ниже. Что я хочу сделать, это выбрать имя изnames.txt вcreateStream функция по одному и оттуда вызовFileSearch функция сnameToSearch как параметр и поискlist.txt построчно. Так одно имя и поискlist.txt построчно, другое имя и поискlist.txt построчно и так далее ...

list.txt это большой файл. Если найдено совпадение, выведите строку поиска и номер строки. Я думал, что это будет поставить одно имя и номера строк, а затем перейти к второму имени и так далее, но это

Пропуск рядов. Я искал некоторые имена вручную, и соответствующие номера строк отсутствуют в выводе)

Смешивание имен. Я вижу имена в начальной части вывода, а затем где-то еще в выводе.

Код:

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

var nameToSearch

var createStream = function (){
var lineNumber=0;
var ended = false;
var rlName = readline.createInterface({
      input : fs.createReadStream('./names.txt'),
      output: process.stdout,
      terminal: false
      })
rlName.on('line',function(lineInNameFile){
     ++lineNumber;
      nameToSearch=lowercase(lineInNameFile);
     FileSearch(nameToSearch);
     })
}


var lowercase=function(str){
     return String(str).toLowerCase();
}

var  FileSearch = function (searchString){
var listlineNumber=0;
var rlList = readline.createInterface({   
      input : fs.createReadStream('./list-2.txt'),
      output: process.stdout,
      terminal: false
})
rlList.on('line',function(lineInListFile){
     ++listlineNumber;
     if (lineInListFile===searchString){
         console.log( searchString+ ":" + listlineNumber);
     } 

})

} 

var runSearch = createStream();
exports.createStream = createStream; 

names.txt выглядит так

OLIVER
CHARLOTTE
LIAM
AMELIA
.
.

а такжеlist.txt выглядит так, в основном одно слово на строку в обоих файлах

a
aah
aahed
aahing
aback
abacus
abacuses
abaft
abalone
abalones
.
.

Мой выход на консоль выглядит примерно так

grayson:2322
emmett:3756
emmett:6399
lily:3739
lily:6340
.
.

Я не используюreadline модуль правильно?

РЕДАКТИРОВАТЬ: после изучения большего и поиска обнаружил, что, возможно, придется что-то делать с чтением последней строки. Это не чтение последней строкиlist.txt, Я не уверен почему

Ответы на вопрос(1)

Ваш ответ на вопрос