2015-05-06 4 views
2

Я пытаюсь запросить пользователя дважды (более одного раза в целом), но все распечатывается вместе, и первый ответ обрабатывается обеими функциями. Я считаю, что это связано с асинхронным характером node.js. Не могли бы вы указать мне модуль, который позаботится об этом для меня или о реализации в оперативном модуле? Спасибо.Несколько пользовательских запросов node.js

var prompt = require('prompt'); 
 
prompt.start(); 
 
console.log("Enter a number: "); 
 
prompt.get(['number'], function(err, result) { 
 
    if (!isNaN(result.number)) { 
 
    console.log("You entered a number."); 
 
    } else { 
 
    console.log("You did not enter a number."); 
 
    } 
 
}); 
 

 

 
var prompt2 = require('prompt'); 
 
prompt2.start(); 
 
console.log("Enter a number again: "); 
 
prompt2.get(['number1', 'number2'], function(err, result) { 
 
    if (Number(result.number1) > Number(result.number2)) 
 
    console.log("The first input is bigger"); 
 
    else if (Number(result.number1) == Number(result.number2)) 
 
    console.log("Both inputs are equal"); 
 
    else 
 
    console.log("The second input is bigger"); 
 
});

ответ

0

Я не уверен, если вы на самом деле нужны обе быстрые экземпляры. Я думаю, вы можете добиться того, чего хотите, только с одним приглашением и просто вызывая get второй раз в течение первого обратного вызова get.


 
var prompt = require('prompt'); 
 
    prompt.start(); 
 
    console.log("Enter a number: "); 
 
    prompt.get(['number'], function(err, result) { 
 
    if (!isNaN(result.number)) { 
 
    console.log("You entered a number."); 
 
    } else { 
 
    console.log("You did not enter a number."); 
 
    } 
 

 
    console.log("Enter a number again: "); 
 
    prompt.get(['number'], function(err, result) { 
 
    if (result.number < 20) 
 
     console.log("small"); 
 
    else if (result.number < 50) 
 
     console.log("medium"); 
 
    else 
 
     console.log("large"); 
 
    }); 
 
    });

+0

Безусловно, ваш ответ действительно решить мою дилемму. Мне было интересно, если бы я хотел получить два ответа от пользователя в два раза. –

Смежные вопросы