var fs = require("fs");
var inquirer = require("inquirer");
var words = ["ALPHA","BRAVO","CHARLIE","DELTA","ECHO","FOXTROT","GOLF","HOTEL","INDIA","JULIET","KILO","LIMA","MIKE","NOVEMBER","OSCAR","PAPA","QUEBEC","ROMEO","SIERRA","TANGO","UNIFORM","VICTOR","WHISKEY","XRAY","YANKEE","ZULU"];
function nodeMan() {
var wrongs = 0;
var lettersGuessed = [];
var word = words[Math.floor(Math.random()*words.length)];
var goldenBoy = word.split("");
var blank = "_" * word.length;
console.log(blank);
for (var i = 0; wrongs < 10; i++) {
var neem = "Question " + i;
inquirer.prompt([{name: neem, message: "Guess a letter"}]).then(function(response) {
console.log("print");
lettersGuessed.push(resposne.name);
if (response.name.length < 1 && lettersGuessed.indexOf(response.name)) {
console.log(" first if statement cleared");
for (var u = 0; u < goldenBoy.length; u++) {
if (goldenBoy[u] === response.name) {
blank[u] = response.name;
console.log(blank);
}
}
}
})
}
}
nodeMan();
Der Versuch, diese asynchron auszuführen. Ab rn bekomme ich eine Endlosschleife von "Guess a letter". Brauchen Sie Hilfe, den Fragesteller zu bekommen, um eine Frage zu einer Zeit statt unendlich zu schießen. Vielen Dank für Ihre Zeit!So führen Sie die asynchrone Schleife für die Abfrage aus:
einen Testordner nicht vergessen npm init einzurichten und inquirer
Nicht mit einer Schleife passieren. Sie müssen Ihre eigene Schleife erstellen, indem Sie die Funktion für die nächste Iteration aufrufen. – epascarello
Ihr Code ist schrecklich. Schauen Sie sich einfach die Pyramide der Tabs an. Immer wenn Sie eine Einrückung von mehr als ~ 3 Ebenen sehen, ist es automatisch schlechter Code und Sie sollten überlegen, ihn neu zu schreiben. –
@epascarello kannst du, wenn du 'async/await' verwendest – charlietfl