javascript - 为什么 conv.add 在使用 API 时 console.log 不起作用
问题描述
//编辑:已解决。下面的代码显示了我更改的代码,它现在可以工作了。
当我使用 agent.add 时,console.log 没有显示任何内容。
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');
const axios = require('axios').default;
const app = conversation();
var titels = [];
axios.get(`YOUR-API`)
.then((result)=> {
titels.push(result.data.categories[0].news[0].title);
/* result.data.map(wordObj => {
titels.push(wordObj.categories.news.title);
});*/
});
app.handle('rhymeHandler', conv => {
console.log(titels[0]);
conv.add(titels[0]);
});
exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
/* for (i = 1; i < 4; i++) {
conv.add(words[i]);
} */
//console.log(words);
有谁可能知道为什么这不起作用?任何帮助,将不胜感激!
解决方案
该问题似乎不会出现在您的异步函数中。尼克发送的代码应该可以工作。所以我认为这与其他事情有关。错误消息告诉我定义了 2 个以上的简单响应,而 Action on Google 无法处理。
我可以看到您在此函数中创建了一个包含多个单词的数组,并且您正在使用conv.add(word)
. 因此,如果此数组中的字数大于 2,则响应无效。
所以为了解决问题。您应该确保conv.add(word)
调用的次数不超过 2 次。
希望这可以帮助!
推荐阅读
- javascript - 动态导入中的字符 *
- python - (Mac OSX Catalina) 为什么我不能单击 Tkinter 中的按钮并使其变为蓝色?
- java - 为什么 Java 8 和 Java 11 之间已解决的依赖关系不同?
- c++ - 具有自动参数的函数使用 GCC 编译,但不使用 Visual C++ 编译
- c# - 身份服务器出现“错误”:“invalid_scope”
- r - R数据框:根据另一列中的值更改1列中的值
- r - 合并具有重叠值的行
- botframework - Microsoft Teams 机器人消息传递扩展:调用/selectItem 未按预期工作
- r - R 随机森林提取 - gsub 和 str_replace 不起作用
- db2 - 在 DB2 中将时间默认设置为 00:00:00