【问题标题】:Are Multiple Lambda callbacks possible是否可以进行多个 Lambda 回调
【发布时间】:2019-10-17 02:53:10
【问题描述】:

我有一个 lambda/serverless 函数,它将执行几个 API 调用,这需要一些时间。我想在每个任务完成时更新前端的用户(进度条样式),但我知道发送回信息的唯一方法是回调函数,我只能在整个过程结束时使用一次.

有没有办法发送多个回调?

提前致谢。

【问题讨论】:

  • 有很多方法可以解决这个问题。可以发一些代码吗?

标签: javascript node.js aws-lambda serverless


【解决方案1】:

不可以,您只能调用一次 AWS Lambda 回调。 所以你只能收到一次结果:当它完成或失败时。

这里是相关的documentation 说:

当回调被调用时,AWS Lambda 继续 Lambda 函数 调用直到事件循环为空。

这意味着在回调调用之后 - 您将收到响应。但是,函数可以稍后完成它的工作,但你将无法再从函数中获取任何新数据。

此外,请务必记住,当您调用 Lambda 时,您实际上是在调用 stateless 容器。所以不可能保存状态然后在下次调用时读取它。您永远不应保存和依赖保存在该容器内的任何数据。

您的可能解决方案可以将您的工作分成几个块,然后分别发送每个块进行处理。然后,在收到有关成功处理块的响应后,您可以更新进度条。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多