查看了AWS Lambda文档和一些stackoverflow问题(尤其是这个问题:Context vs Callback in AWS Lambda)之后,我仍然对callback或context.success()的用途感到有些困惑。另外,当无法使用回调时,返回context.success()的原始原因是什么?
我之所以问是因为给我一个使用了两个调用的Lambda函数,而且我不知道为什么在给定的位置选择了一个而不是另一个。
谢谢!
答案 0 :(得分:1)
来自this article:
Context.succeed [不仅仅是]簿记– [它]导致 请求在当前任务完成后返回并并冻结 立即处理,即使Node.js事件中还有其他任务 循环 ... [另一方面,] 回调等待所有任务 在Node.js事件循环中完成,就像您运行时一样 本地功能。如果您选择不使用回调参数 在您的代码中,然后AWS Lambda隐式调用它并返回一个值 的null。您仍然可以使用Context方法终止 功能,但是等待所有任务执行的回调方法 对于Node.js的总体行为而言,complete更为惯用。*