node.js - 数组长度未显示
问题描述
我正在使用对话流来构建聊天机器人。以下是一个示例问题数组,但实际和示例的格式相同:
qstion[{
Question 1, What is 33+32?,
Okay, Question 2, What is 76+32?,
Okay, Last Question, Did you like the game?
}]
我正在使用以下代码来获取数组的长度:
app.intent('First', (conv) => {
const ans = conv.parameters.any;
if(ans == 65){
senddata[0] = qstion[0] + ans;
conv.add(qstion.length);
conv.ask(qstion[1]);
}
else{
conv.add('Please enter a valid number');
conv.ask(qstion[0]);
}
});
该应用程序在此处崩溃。你能帮我得到数组的长度吗?
更新:
这是我使用 console.log(qstion) 时它在日志上的显示方式:
qstion[
'Question1, What is 33+32',
'Okay, Question2, What is 76+32',
'Okay, Last Question, Did you like the game'
]
解决方案
由于您的问题有“dialogflow”标签,我假设您正在使用该actions-on-google
库。您看到的问题不是您的数组长度错误,而是您使用错误的方法发送响应。
在actions-on-google
中,您将分别致电conv.ask
或conv.close
提出问题或结束对话。
您的代码片段显示conv.add(qstion.length)
. 但是,在您使用的库conv.add
中不存在,可能是崩溃的原因。conv.add
仅在使用@assistant/conversation
与 Dialogflow 不兼容的新 Actions Builder 和库时有效。
推荐阅读
- javascript - 如何使用请求中的 json 对象
- python - 我无法使用 TkinterDnD2 运行 .py 脚本(RuntimeError: Unable to load tkdnd library)
- kendo-ui - 如何以编程方式更改 Angular Kendo UI 网格页面索引?
- python - 如何使用 python 在 QAxObject 中获取指针值?
- java - 如何将字符串列表添加到特定位置的另一个列表?
- java - 如何在 FragmentStateAdapter 中获取片段
- gollum-wiki - gollum-auth,适合新手
- reactjs - 使用 material-ui 以 4k 分辨率居中内容容器
- apache-spark-sql - Spark-Sql 自定义元存储
- flutter - 为什么在颤动中加载 gif 时 ImageStreamListener 不会停止