我要在操作中添加基本卡,并且在模拟器中进行测试时,错误Malformed response, final_response must be set
这是网络挂钩:
app.intent('Selected subjects', (conv, {Subject}) => {
subject = conv.arguments.get('OPTION') || Subject;
if (!conv.screen) {
conv.close(subjectCard[Subject].text);
} else {
conv.close(`Maybe this would help`, new BasicCard(subjectCard[Subject]));
}
});
答案 0 :(得分:2)
对于使用Firebase遇到此问题的任何人,请转到“功能”,然后选择“运行状况”。这将描述确切的行和代码,这是一个错误。例如,在此示例中,单词“ subject”未标记为var,从而导致错误。我建议您使用firebase,因为Firebase控制台会描述在终端/ cmd /命令行等上未显示的错误。
答案 1 :(得分:1)
有两个问题。首先,您必须在意图处理程序中执行conv.close
或conv.ask
。在代码中,当conv.screen
为true时,函数似乎都不起作用。要解决此问题,请将else子句更改为:
else {
conv.close(new BasicCard(...));
}
第二个问题是您没有实例化BasicCard
,该问题已在上面的代码段中修复。
这是一个非常常见的错误,建议您阅读Debugging Common Actions on Google Errors以获得有关调试方法的提示和技巧。