lambda node.js 异步函数无法访问回调

lambda node.js async function can't access to callbacks

我正在使用异步函数,但在访问回调函数时遇到问题。

我可以 console.log( req) 成功但 (res) 都不能 (body)

回调函数中的所有console.log都没有显示,我只得到(req)响应

module.exports.handler = async function (event,context){

               let result = await s3.listObjects(params).promise();
                console.log(result.Contents);

                var req = http.request(post_options,function(res) {
                    console.log("resresresresresres");
                   console.log("statusstatusstatustats");
                   console.log("headersheadersheaders");
                   res.setEncoding('utf8');
                   res.on('data', (chunk) => {
                       console.log("body");
                   });
                });
            console.log(req)
              
                }

我也这样试过,我得到了相同的结果,只显示了 (req)

module.exports.handler = async function (event,context){

                    let result = await s3.listObjects(params).promise();
                    console.log(result.Contents);

                var req = http.request(post_options,res=> {
                    console.log("resresresresresres");
                   console.log("statusstatusstatustats");
                   console.log("headersheadersheaders");
                   res.setEncoding('utf8');
                   res.on('data', (chunk) => {
                       console.log("body");
                   });
                });
            console.log(req)
              
                }

承诺 http.request 调用。

function postCall(postOptions) {
     http.request(postOptions, function(res) {
         console.log("resresresresresres");
         console.log("statusstatusstatustats");
         console.log("headersheadersheaders");
         res.setEncoding('utf8');
         res.on('data', (chunk) => {
            return chunk;
         });
     });
    }
    
or

function postCall(postOptions) {
 return new Promise((resolve, reject) => {
   http.request(postOptions, function(res) {
     console.log("resresresresresres");
     console.log("statusstatusstatustats");
     console.log("headersheadersheaders");
     res.setEncoding('utf8');
     res.on('data', (chunk) => {
        resolve(chunk);
     });
 });
 })
}

Then Lambda function

module.exports.handler = async function (event,context){
  let result = await s3.listObjects(params).promise();
  console.log(result.Contents);
  // please define post request params i.e postOptions
  const response = await postCall(postOptions);
  console.log(response);
}