axios - Dialogflow 实现 API - 第一次调用比后续请求花费更多时间
问题描述
我正在开发一个调用 3rd 方 API 来获取数据的Messenger聊天机器人。API 通常在 2 秒内返回数据,但是当我从 Dialogflow 实现(内联函数)调用 API 时,第一次调用需要 20 多秒才能获取数据,这将影响 Dialogflow 5 秒超时。随后的请求在不到 2 秒的时间内执行。
我使用axios来调用 API。有什么建议可以提高响应时间吗?
下面是调用 API 的函数
function getArrearsData(agent,tenantId) {
console.log("Getting the Arrears Details");
return axios.get(`${baseUrl}api/Integrations/Arrears?tenantId=${tenantId}`)
.then((result) => {
if (result.data) {
if (result.data.responseCode == 12) {
let arrearsData = {};
if (result.data.arrears.length > 0) {
let paidToDate = moment(result.data.arrears[0].paidToDate).format('DD/MM/YYYY');
arrearsData = {
arrearsAmount: "$" + result.data.arrears[0].arrearsAmount,
arrearsDays: result.data.arrears[0].arrearsDays,
paidToDate: paidToDate
};
} else {
arrearsData = {
arrearsAmount: "N/A",
arrearsDays: "N/A",
paidToDate: "N/A"
};
}
agent.add("");
agent.context.set({ name: 'rental_details', lifespan: 5, parameters: { arrearsDetails: arrearsData }});
agent.setFollowupEvent('ARREARS_DETAILS_EVENT');
} else {
console.log("getting arrears data failed!");
agent.add("");
agent.add("something wrong");
agent.setFollowupEvent('Q_AND_A_INTENT_EVENT');
}
} else {
console.log("getting arrears data failed!");
agent.add("");
agent.add("something wrong");
agent.setFollowupEvent('Q_AND_A_INTENT_EVENT');
}
});}
解决方案
推荐阅读
- sql - 用于选择 plpgsql 数据库的变量值
- amazon-web-services - 如何提高 AWS 加密 SDK 在解密时的性能(响应时间)
- c++ - 如何防止 clang-format 在流运算符调用之间添加换行符 <<
- couchdb - 每个文档的 CouchDB 3.0 8MB 限制是否包括文档的附件?
- javascript - 使用 Getusermedia 选择相机,然后使用 instascan
- azure - Azure IOT Edge 模块存储库名称必须为小写
- mysql - python to connect to mysql error out: 10060 A connection attempt failed, console connection to mysql is fine
- python - 合并多个没有公共列的数据框
- javascript - 将 JSON 响应正确下载为文件
- prolog - prolog查找列表的基数