【发布时间】:2020-03-10 21:33:56
【问题描述】:
我正在使用 Firebase Cloud Function 作为 DialogFlow Google Assistant Action 的实现,但我需要在管理意图之前从 Firebase 数据库中检索数据。这是一个代码sn-p:
var userDataRef = sessionDatabaseRef.child(sessionId);
userDataRef.once("value").then(function(data) {
console.log(data.val());
handleIntentAndProcessResponse();
}).catch(function(){
console.log("No data yet for this session");
handleIntentAndProcessResponse();
});
名为handleIntentAndProcessResponse 的函数是意图逻辑通过设置conv.ask(new SimpleResponse(blah)) 内容返回响应的地方。当我测试它失败并且云功能日志给我这个错误:
错误:未设置响应。这是否在未作为对意图处理程序的承诺返回的异步调用中使用?
那么,我该如何处理这个对 Firebase 数据库的异步调用,以便它等待响应?当我处理意图时,我需要使用它返回的数据。
【问题讨论】:
标签: javascript firebase google-cloud-functions dialogflow-es dialogflow-es-fulfillment