我的 Lambda 函数在所有代码运行之前结束。我无法在此代码中检索转换后的文件 URL。为什么?
export const handler = async (event, context) => {
// Geth the object from S3
const bucket = "s3fileconverterinput";
const key = event.Records[0].s3.object.key;
var file = await getObject(bucket, key);
console.log(file);
var filePath = "/tmp/" + key;
fs.writeFile(filePath, file, (err) => {
if (err) {
} else {
console.log("File saved successfully!");
convertapi.convert("pdf", { File: filePath }).then(function (result) {
console.log("Converted file url: " + result.file.url);
});
}
});
};
fs.writeFile
是一个异步函数。所以我认为这意味着处理程序结束而无需等待写入函数解析。
您可以:
await
fs.writeFileSync
功能