Javascript 尝试调用函数并在post方法中返回数据

Javascript 尝试调用函数并在post方法中返回数据,javascript,node.js,express,puppeteer,aws-sdk-nodejs,Javascript,Node.js,Express,Puppeteer,Aws Sdk Nodejs,我是Nodejs的新手,因此发现很难完成上述任务。尝试调用异步函数并返回其值以响应POST方法 module.exports.pdf=async(事件、上下文、回调)=>{ 常数数据={ 标题:“使用木偶演员生成Pdf”, 文字:“把手太棒了!” } const executablePath=event.isOffline? “/node_modules/puppeter/.local chromium/mac-674921/chrome mac/chromium.app/Contents/Ma

我是Nodejs的新手,因此发现很难完成上述任务。尝试调用异步函数并返回其值以响应POST方法

module.exports.pdf=async(事件、上下文、回调)=>{
常数数据={
标题:“使用木偶演员生成Pdf”,
文字:“把手太棒了!”
}
const executablePath=event.isOffline?
“/node_modules/puppeter/.local chromium/mac-674921/chrome mac/chromium.app/Contents/MacOS/chromium”:
等待chromium.executablePath;
const file=fs.readFileSync(path.resolve(uu dirname,“template.hbs”),'utf8')
const template=handlebar.compile(文件)
常量html=模板(数据)
让browser=null;
试一试{
browser=等待chromium.puppeter.launch({
args:chromium.args,
defaultViewport:chromium.defaultViewport,
可执行路径,
无头:铬。无头
});
const page=wait browser.newPage();
page.setContent(html);
const pdf=wait page.screenshot({encoding:“base64”})
//const pdf=wait page.pdf({
//格式:“A4”,
//背景:是的,
//页边:{顶部:“1cm”,右侧:“1cm”,底部:“1cm”,左侧:“1cm”}
// });
//TODO:使用PDF响应(如果出现问题,则返回错误)
常数响应={
标题:{
“内容类型”:“应用程序/json”,
“内容处置”:“附件;文件名=test.pdf”
},
状态代码:200,
正文:pdf.toString(“base64”),
isBase64Encoded:true
};
const output_filename='pdf demo.json';
常量s3Params={
Bucket:“pdf演示截图”,
键:`public/pdfs/${output\u filename}`,
正文:pdf,
ContentType:“应用程序/json”,
服务器端加密:“AES256”
};
s3.putObject(s3Params,err=>{
如果(错误){
console.log(“err”,err);
返回回调(null,{error});
}
});
成功(回应);
}捕获(错误){
返回context.fail(错误);
}最后{
如果(浏览器!==null){
等待浏览器关闭();
}
}
};
我有上面的功能。我有一个全局变量
让img\u arr=[]
。下面是POST方法,我想调用上面的函数,将base64数据推送到数组中,并在响应中返回数组

app.use('/screenshot', function(req, res) {
 res.send(img_arr)})
[]在web上找到的在lambda(无服务器)上使用Puppeter的最佳示例[]在web上找到的在lambda(无服务器)上使用Puppeter的最佳示例