Я просто не могу понять это независимо от того, сколько статей генераторов я читаю ... Я также попытался установить все библиотеки волокон, и ни один из них будут установлены на моей машине, но это нормально, потому что я должен, вероятно, узнать, как работает собственный механизм ES5.Использование генераторов для ожидания ввода до продолжения тела цикла forEach
Это то, что мой код выглядит так далеко ..
var arr = [1, 2, 3];
arr.forEach(function(n, i, arr){
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter input [' + [n, i].join(' ') + ']:', function(answer) {
arr[i] = { prompt: [n, i], response: answer };
rl.close();
});
});
Проблема заключается в том, что последовательность, предсказуемо, выглядит следующим образом:
Enter input [1 0]:
Enter input [2 1]:
Enter input [3 2]:
<input>
<input>
<input>
В то время как мне нужно каждый выход, чтобы быть непосредственно за которым следует соответствующий вход. Как это сделать в генераторах и yield
?
Спасибо ..
Просто проверяю все, что я вижу, это 'Enter вход [3 2]:' то ввод повторяется три раза. – user568109