gpt4 book ai didi

javascript - 如何在一个函数中从 2 个 api 获取数据并在对话框流卡履行中显示

转载 作者:行者123 更新时间:2023-12-02 22:21:34 26 4
gpt4 key购买 nike

我正在使用 Dialogflow 的内联编辑器实现来显示从 API 获取的动态数据。我尝试从 1 个 API 获取并且工作正常,现在我必须同时从 2 个 API 获取并在卡片中显示所有信息。

这是代码:

function GetProductAPI(agent) {
let prodnr1 =agent.parameters.prodnr1;
const webApiUrl = 'http://www.xxxxxxx.xx/api/products/';

// return axios.get(webApiUrl + prodnr1, { headers: {Authorization: `TOKEN zzzzzzzzzzzzz`} })

axios.all([
axios.get(webApiUrl + prodnr1, { headers: {Authorization: `TOKEN zzzzzzzzzzzzz`} }),
axios.get(webApiUrl + prodnr1 + '/images', { headers: {Authorization: `TOKEN zzzzzzzzzzzzz`} })
])

// .then(res => {
.then(axios.spread((user1, user2) => {
const launchData = user1.data;
const launchData2 = user2.data;
agent.add(`Product number is: ${launchData[0].ID} . Tile is : ${launchData[0].TITLE}, best price is : ${launchData[0].BEST_PRICE} , image url : ${launchData2[0].IMAGE_URL} `);

agent.add(new Card({
title: `${launchData[0].TITLE}`,
imageUrl: 'https://www.xxxx.xxx/cache/images/product/345345345334.jpg',
text: `${launchData[0].META_DESCRIPTION}`,
buttonText: 'Text from api',
buttonUrl: '${launchData[0].URL}'
})
);
}));
}

注释的代码我仅用于一次 API 调用并且运行良好,现在我尝试从 2 获取数据并在一个响应中使用数据却不起作用。您能帮我找出问题出在哪里吗?

最佳答案

您错过了 axios.all() 前面的 return。工作代码是 return axios.all([...])

关于javascript - 如何在一个函数中从 2 个 api 获取数据并在对话框流卡履行中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59211707/

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