为JavaScript类属性赋值时出错

为JavaScript类属性赋值时出错,javascript,node.js,asynchronous,synchronization,prompt,Javascript,Node.js,Asynchronous,Synchronization,Prompt,在javascript类中设置类属性时出错。我使用nodejs提示模块获取用户输入,并将其设置为class属性。但我得到以下错误 TypeError:无法读取未定义的属性“resultAge” 我发现它与同步有关,但我不知道如何在这种情况下实现它 我还想再次提示用户,直到他输入了一个有效的数字(我不能使用do while循环,解决方案可能是什么?) 编辑: 问题设置resultAge已解决,但现在问题是var age=a.displayTotalAge()在console.log(age)之后进

在javascript类中设置类属性时出错。我使用nodejs提示模块获取用户输入,并将其设置为class属性。但我得到以下错误

TypeError:无法读取未定义的属性“resultAge”

我发现它与同步有关,但我不知道如何在这种情况下实现它

我还想再次提示用户,直到他输入了一个有效的数字(我不能使用do while循环,解决方案可能是什么?)

编辑:
问题设置resultAge已解决,但现在问题是var age=a.displayTotalAge()在console.log(age)之后进行评估,结果为0

您需要将
ageTotal
的范围传递到
提示符中。获取
回调:

var ageTotal =  function(){
    this.resultAge = 0;

    this.getUserAge = function(){
        var that = this;
        prompt.start();

        prompt.get(["age"], function(err, result){
            that.resultAge += result.age
        });
    }
}
var ageTotal =  function(){
    this.resultAge = 0;

    this.getUserAge = function(){
        var that = this;
        prompt.start();

        prompt.get(["age"], function(err, result){
            that.resultAge += result.age
        });
    }
}