这是我第一次向 Stack-Overflow 社区征求意见。 这几天我一直在学习使用与GETEWAY连接的AWS lambda服务。 我需要在 API 上执行 GET,但问题是我不断收到空响应。
以下是我的带有免费访问 API 的代码示例:
var getApi= async function(event) {
var x = await axios.get(url)
}
var getResponse = async function(){
var data= await getApi()
if (data.status ==200){
return data
}
}
exports.handler = async function() {
return getResponse().then(res => {
const response = {
statusCode: 200,
body: JSON.stringify(res),
};
return response
}).catch(error => { return error})
};
非常感谢您的帮助,
最佳答案
这是因为node.js异步调用。 您的函数在异步调用返回之前完成运行。 我修复了一些代码行。我希望这对您有帮助。
const getApi= async function() {
return await axios.get(url)
}
const getResponse = async function(){
const data= await getApi()
if (data.status ==200){
return data
}
}
exports.handler = async function() {
return await getResponse().then(res => {
const response = {
statusCode: 200,
body: JSON.stringify(res),
}
return response
}).catch(error => console.error(error))
}
关于javascript - 如何从 AWS lambda 上的 API 获取正确的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58648815/