![](/img/trans.png)
[英]trouble using node.js w/ node-fetch module in async AWS Lambda Function
[英]AWS Lambda: Is there a benefit to using an async handler function for the Node runtime?
我正在使用 Node.js Lambda 函数创建一个 AWS SAM 应用程序。 默认模板有一个异步处理程序 function:
exports.lambdaHandler = async (event, context) => {
// ...
return {
statusCode: 200,
body: JSON.stringify({ hello: "world" })
};
};
让这个处理程序 function 成为async
与sync
有什么好处,因为我的理解是每次调用 Lambda function 时它与其他实例分开运行?
AWS Lambda 也处理同步函数和异步函数。 async
意味着两件事:
Promise
await
AWS Lambda 恰好将 Promises 理解为返回值,这就是async
函数也能正常工作的原因。 因此,如果您只需要await
go 即可进行async
。
您也不能将 function 声明为async
并return
Promise
(或承诺链)
如果要使用 return 和 throw 分别从 function 处理程序发送响应或错误,请使用异步处理程序 function。
您可以使用非异步处理程序,但它仅在事件循环为空或 function 超时时终止 function 执行。
参考: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-handler.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.