每次都等待用户输入并继续循环。使用节点js

Wait for user input every time and continue in the loop. Using node js

我需要一个node js函数,它遍历两个数组,每次都等待用户输入,然后继续循环。

let array = **SOME_ARRAY**; 
let array_2 = **SOME_ARRAY**;
for (let i in array) {
    for (let j in array_2) {
        process.stdin.on('data', data => {
            data = data.toString();
            data = data.replaceAll('\r', '').replaceAll('\n', '');
            console.log(data, array[i], array_2[j]);
        });
    }
}

您可以将 readline.questionasync-await 一起使用:

const readline = require('readline');

function readInput() {
    const interface = readline.createInterface({
        input: process.stdin,
        output: process.stdout,
    });

    return new Promise(resolve => interface.question("Please provide next input: ", answer => {
        interface.close();
        resolve(answer);
    }))
}


(async () => {

    const array = [1, 2];
    const array2 = [4, 5];
    for (const a of array) {
        for (const b of array2) {
            const data = await readInput();

            // Do something with your data...

            console.log(data, a, b);
        }
    }
})();