在异步/等待函数中使用 Promises 或回调函数,确保 HTTP POST 执行完毕后再返回结果。以下是一个基本的示例:
async function handler(event) { const postData = { message: 'Hello, world!' }; const options = { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(postData) }; const responsePromise = new Promise((resolve, reject) => { const req = https.request(url, options, res => { let data = ''; res.on('data', chunk => { data += chunk; }); res.on('end', () => { resolve(data); }); }); req.on('error', error => { reject(error); }); req.write(postData); req.end(); });
const responseData = await responsePromise; return { statusCode: 200, body: responseData }; }
在上面的示例中,我们使用了 'https' 模块将 HTTP POST 请求发送到指定的 URL。我们创建了一个名为“responsePromise”的新 Promise,以确保请求在成功/失败时都能从 Lambda 函数中返回结果。最终的返回对象包括 statusCode 和 body,其中 body 包含我们从 POST 请求中获取的数据。