我正在使用DialogFlowV2开发Google Home应用,但我遇到了问题。
我正在使用Google Cloud Functions,我已经定义了3个函数,welcome,fallback和getTVShow。
第三个是有趣的,我从API获取数据并使用webhookClient的add方法发送。
我打电话时遇到了这个错误:
Error: No responses defined for undefined
at V2Agent.sendResponse_ (/user_code/node_modules/dialogflow-fulfillment/v2-agent.js:140:13)
at WebhookClient.send_ (/user_code/node_modules/dialogflow-fulfillment/dialogflow-fulfillment.js:225:19)
at promise.then (/user_code/node_modules/dialogflow-fulfillment/dialogflow-fulfillment.js:285:38)
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
我查看了源代码,这对应于请求源,该请求源在从请求主体的originalDetectIntentRequest中获取源数据后未定义。
所以,我在request.body.originalDetectIntentRequest上做了一个console.log,结果是:
{ payload: {} }
因此,出现错误是正常的,但我不想要它。
有人可以帮助我吗?
更新
我发现只有当我使用DialogFlow的“playground”时才会发生这种情况。它是https://console.dialogflow.com/右侧的“立即尝试”输入。 我在GitHub repo上发布了有关此问题。
更新2
这完全是关于一个被遗忘的回归。使用异步请求时,我们需要返回promise。