Node.js TypeError:无法读取属性';简单响应';未定义的

Node.js TypeError:无法读取属性';简单响应';未定义的,node.js,dialogflow-es,actions-on-google,Node.js,Dialogflow Es,Actions On Google,我正在dialogflow中开发一个开放式问答聊天机器人。输入响应时,它有时接受响应,有时抛出此错误: TypeError:无法读取DialogflowConversation.response上未定义的属性“simpleResponse” 这是我的密码: app.intent('First', (conv) => { const ans = conv.parameters.any; if(type[0] === 'RATING'){ if(ans == 1

我正在dialogflow中开发一个开放式问答聊天机器人。输入响应时,它有时接受响应,有时抛出此错误:

TypeError:无法读取DialogflowConversation.response上未定义的属性“simpleResponse”

这是我的密码:

app.intent('First', (conv) => {
    const ans = conv.parameters.any;
    if(type[0] === 'RATING'){
        if(ans == 1){
            senddata[0] = qstion[0] + ans;
            conv.ask(qstion[1]);
        }
        else if(ans == 2){
            senddata[0] = qstion[0] + ans;
            conv.ask(qstion[1]);
        }
        else if(ans == 3){
            senddata[0] = qstion[0] + ans;
            conv.ask(qstion[1]);
        }
        else if(ans == 4){
            senddata[0] = qstion[0] + ans;
            conv.ask(qstion[1]);
        }
        else if(ans == 5){
            senddata[0] = qstion[0] + ans;
            conv.ask(qstion[1]);
        }
        else if(ans === 'can you help me' || ans === 'help' || ans === 'help me'){
            checkhelp_logout = "help";
            flag_log_help = 2;
            conv.ask('Would you like some help?');
        }
        else if(ans === 'logout'){
            checkhelp_logout = "logout";
            flag_log_help = 2;
            conv.ask('Did you say logout?');
        }
        else if(ans === 'sign out'){
            checkhelp_logout = "logout";
            flag_log_help = 2;
            conv.ask('Did you say sign out?');
        }
        else{
            conv.add('Please enter a valid number');
            conv.ask(qstion[0]);
        }
    }
    else{
         if(ans === 'can you help me' || ans === 'help' || ans === 'help me'){
            checkhelp_logout = "help";
            flag_log_help = 2;
            conv.ask('Would you like some help?');
        }
        else if(ans === 'logout'){
            checkhelp_logout = "logout";
            flag_log_help = 2;
            conv.ask('Did you say logout?');
        }
        else if(ans === 'sign out'){
            checkhelp_logout = "logout";
            flag_log_help = 2;
            conv.ask('Did you say sign out?');
        }
        else{
            //conv.add(ans);
            senddata[0] = qstion[0] + ans;
            conv.ask(qstion[1]);
        }
    }
});
类型数组存储问题的类型,即是评级问题还是描述性问题。qstation数组存储来自API的问题。
你能帮我解释一下为什么它有时有效,有时无效。

在什么情况下会出现这种错误?你知道当你遇到错误时你所处的代码的“分支”是什么吗?当你遇到错误时,你能提供包括几行代码点在内的全部细节吗?拥有完整的stacktrace有助于确定此问题可能发生的位置。我最初的猜测是,
qstation[1]
有时是未定义的。@KLP它基本上出现在评级部分,我将答案与1比5进行比较。@NickFelker qstation[1]工作正常,没有问题,它对用户的响应有问题。例如,如果我输入4,它会显示这个错误,当我在下一次测试中再次输入4时,它会完全正常工作。你能验证你在代码中得到了正确的参数吗?在什么条件下你会得到这个错误?你知道当你遇到错误时你所处的代码的“分支”是什么吗?当你遇到错误时,你能提供包括几行代码点在内的全部细节吗?拥有完整的stacktrace有助于确定此问题可能发生的位置。我最初的猜测是,
qstation[1]
有时是未定义的。@KLP它基本上出现在评级部分,我将答案与1比5进行比较。@NickFelker qstation[1]工作正常,没有问题,它对用户的响应有问题。例如,如果我输入4,它会显示这个错误,当我在下一次测试中再次输入4时,它会完全正常工作。你能验证你在代码中得到了正确的参数吗?