gpt4 book ai didi

javascript - Firebase 数据库功能无法在 DialogFlow 上正常工作

转载 作者:行者123 更新时间:2023-12-02 23:50:51 25 4
gpt4 key购买 nike

我正在为聊天机器人编写代码,但我的 firebase DB 上的数据库查询出现问题,我不知道如何修复,因为它与我发现的其他示例相同。

    var ref = admin.database().ref();
var consultasRef = ref.child('consultas')

agent.add('Test 2')

consultasRef.on("value", function(snap){
agent.add('Test 3')
agent.add(snap.val());
});

如上所述,应该打印 snap.(val) 的函数。它没有按应有的方式开始。正确的语法与我使用的语法相同。正在打印“Test 2”,与函数内部的“Test 3”不同

对于那些不熟悉 Dialogflow 的人来说,agent.add() 与 JS 上的 console.log() 相同,但适用于 Dialogflow。

最佳答案

当您进行异步调用(例如数据库调用)时,您必须从 Intent Handler 返回一个 Promise,以便它知道调用何时完成,以便将结果发送回机器人。

此外,您可能希望使用 once() 函数,因为您不关心数据库更新(因为结果已经发送)。

您可能可以使用如下所示的代码来完成这两个操作:

return consultasRef.once('value')
.then( snap => {
agent.add('Test 3');
agent.add(snap.val());
});

添加超过一两个文本回复也可能会出现问题,具体取决于您使用的集成。

关于javascript - Firebase 数据库功能无法在 DialogFlow 上正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55656602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com