步函数中的同步 + 异步步

问题描述

我对步进函数非常陌生,并且仍在探索相同的方法我有这样的工作流程

--Steps A to C are synchronous.
Step A
 if(respose is X)
   Step B
 else
   Step C
--Need to return response to user here and need to follow two below steps asynchronously to unblock the caller of step function.
Step D
Step E

是否有可能实现相同的目标?我相信,我会为步骤 A、B 和 C 附加 .sync。不会向 D 和 E 附加任何内容,它应该可以工作。我在这里遗漏了什么吗?

请注意,所有步骤都将仅由活动工作人员执行。

解决方法

我们可以采取两种方法。

  • 将阶跃函数一分为二。前三个步骤将在一个快速步骤函数中,最后两个步骤将是一个常规步骤函数。 或
  • 我们可以只有一个 step 函数,无论我们在哪里调用这个 step 函数,我们都需要等待前三个步骤完成才能继续前进。这可以通过在循环中调用 get-execution-history 来获取中间步骤的输出来完成。 Here 是这种方法的答案。