gpt4 book ai didi

Javascript - 在新请求中使用先前请求中的数据

转载 作者:行者123 更新时间:2023-12-02 22:03:33 25 4
gpt4 key购买 nike

我正在尝试使用 Axios 从 Dialogflow 的内联编辑器执行一些 API 调用,但无法使其工作,您能帮助我吗?

function calc(agent) {
axios.get('https://maps.googleapis.com/maps/api/geocode/json?address=xxx')
.then((result) => {
const Lat2 = result.data.results[0].geometry.location.lat;
const Lng2 = result.data.results[0].geometry.location.lng;
});
const data = {
"addresses": [
{
"lat": Lat2,
"lon": Lng2,
}
]
};
return axios.post('https://api.test.XXXX', data, {
headers: {
'Content-Type': 'application/json',
'Authorization': 'YYYYYY'
}})
.then((result) => {
const cant = result.data.total.amount;
agent.add('This is ' + cant);
});
}

在数据常量上,我无法将“lat”和“lon”分配给 Lat2 和 Lng2 变量。

谢谢。

亲切的问候

最佳答案

请注意,Lat2Lon2 的作用域位于传递给第一个 .then() 的函数内。要访问它们,您需要从该函数返回它们,然后链接另一个 .then(),或者您可以将稍后的处理移到同一函数内。

promise 链:

axios
.get('https://maps.googleapis.com/maps/api/geocode/json?address=xxx')
.then(result => {
const Lat2 = result.data.results[0].geometry.location.lat;
const Lng2 = result.data.results[0].geometry.location.lng;
return { Lat2, Lng2 };
})
.then(({ Lat2, Lng2 }) => {
const data = {
addresses: [
{
lat: Lat2,
lon: Lng2
}
]
};

return axios.post('https://api.test.XXXX', data, {
headers: {
'Content-Type': 'application/json',
Authorization: 'YYYYYY'
}
});
})
.then(result => {
const cant = result.data.total.amount;
agent.add('This is ' + cant);
});

同一函数内的后续处理:

axios
.get('https://maps.googleapis.com/maps/api/geocode/json?address=xxx')
.then(result => {
const Lat2 = result.data.results[0].geometry.location.lat;
const Lng2 = result.data.results[0].geometry.location.lng;

const data = {
addresses: [
{
lat: Lat2,
lon: Lng2
}
]
};

return axios
.post('https://api.test.XXXX', data, {
headers: {
'Content-Type': 'application/json',
Authorization: 'YYYYYY'
}
})
.then(result => {
const cant = result.data.total.amount;
agent.add('This is ' + cant);
});
});

关于Javascript - 在新请求中使用先前请求中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59793392/

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