читать файл построчно и ждать ввода пользователя - PullRequest
0 голосов
/ 24 июня 2019

Я пишу парсер в nodejs.Этот синтаксический анализатор должен построчно читать файл, выполнять его разбор и запрашивать ввод данных пользователем, прежде чем читать следующую строку.Я могу правильно прочитать файл построчно, но использование readline для запроса пользовательских данных не работает.Кто-нибудь никогда не пробовал что-то подобное?

async function processLineByLine() {
    const fileStream = fs.createReadStream('data.txt');

    const rl = readline.createInterface({
        input: fileStream,
        crlfDelay: Infinity
    });
    const il = readline.createInterface({
        input: process.stdin,
        output: process.stdout
    });

    for await (const line of rl) {
        var matches = /id\=\"(\w+)\".+(NT\d{1,2})/.exec(line);
        var matID = matches[1].match(/\d+/g)[0];
        il.question("Insert color data",(reply) => {
            console.log(reply);
        });
    }
    rl.close();
}

processLineByLine();

Я также использовал эту версию

async function processLineByLine() {
    const fileStream = fs.createReadStream('data.txt');

    const rl = readline.createInterface({
        input: fileStream,
        crlfDelay: Infinity
    });

    for await (const line of rl) {
        var matches = /id\=\"(\w+)\".+(NT\d{1,2})/.exec(line);
        var matID = matches[1].match(/\d+/g)[0];
        const il = readline.createInterface({
            input: process.stdin,
            output: process.stdout
        });
        il.question("Insert color data",(reply) => {
            console.log(reply);
            il.close();
        });
    }
    rl.close();
}

processLineByLine();
...