const https = require('https')
exports.handler = async(event) => {
return new Promise((resolve, reject) => {
const parsedEvent = event
const data = JSON.stringify(parsedEvent.data)
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
};
const endpoint = process.env.API_URL + '/' + parsedEvent.service
const req = https.request(endpoint, options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('finish', () => {
return resolve({
statusCode: res.statusCode
})
})
});
req.on('error', (e) => {
return reject(e)
});
req.write(data)
req.end()
})
};
这是我的 lambda 函数,当我使用以下数据
测试它时:
{
"service": "transcription/check",
"data": {
"ConversationId": 1
}
}
它按预期进行 HTTP 调用,但它会重复进行 HTTP 调用,直到超时。不知何故,lambda 函数不知道结束。我做错了什么?
最佳答案
结果我需要处理data
事件。
添加:
res.on('data', () => {return})
有帮助
关于javascript - Node.js lambda 函数重复进行 http 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57398792/