【发布时间】:2021-04-04 20:34:26
【问题描述】:
我正在使用异步函数,但在访问回调函数时遇到了问题。
我可以 console.log(req) 成功但不能 (res) 也不能 (body)
callbackfunction里面的console.log都没有显示,我只得到(req) response
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() 可能遇到错误,并且您没有错误处理程序。添加一些类似于
req.on('error', error => { console.error(error) })的内容 -
我什么都没有,和之前的console.logs一样
-
在
console.log(req)上方添加req.on('error', e=> console.log(e))并查看日志
标签: node.js asynchronous amazon-s3 aws-lambda callback