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();
これを非同期に実行しようとしています。 rnの時点で、「文字を推測する」というプロンプトが無限ループします。無関係にではなく、一度に1つの質問を尋ねることを照会者に求める手助けが必要です。御時間ありがとうございます!あなたの質問への応答の内側に、あなたがどうかを判断する必要があります。init NPMにとinquirerプロンプトとループ非同期で実行する方法
ループでは起こりません。あなたは、次の反復のために関数を呼び出すことによって独自のループを作成しなければなりません。 – epascarello
あなたのコードはひどいです。タブのピラミッドを見るだけです。 〜3レベル以上のインデントが表示されると、自動的に不正なコードとなり、書き換えを検討する必要があります。 –
@epascarelloあなたは 'async/await'を使うとできます – charlietfl