在context.success()和callback()之后的目的

时间:2018-08-07 20:28:45

标签: node.js aws-lambda alexa alexa-skill

查看了AWS Lambda文档和一些stackoverflow问题(尤其是这个问题:Context vs Callback in AWS Lambda)之后,我仍然对callback或context.success()的用途感到有些困惑。另外,当无法使用回调时,返回context.success()的原始原因是什么?

我之所以问是因为给我一个使用了两个调用的Lambda函数,而且我不知道为什么在给定的位置选择了一个而不是另一个。

谢谢!

1 个答案:

答案 0 :(得分:1)

来自this article

  

Context.succeed [不仅仅是]簿记– [它]导致   请求在当前任务完成后返回并并冻结   立即处理,即使Node.js事件中还有其他任务   循环 ... [另一方面,] 回调等待所有任务   在Node.js事件循环中完成,就像您运行时一样   本地功能。如果您选择不使用回调参数   在您的代码中,然后AWS Lambda隐式调用它并返回一个值   的null。您仍然可以使用Context方法终止   功能,但是等待所有任务执行的回调方法   对于Node.js的总体行为而言,complete更为惯用。*