问题描述
我对步进函数非常陌生,并且仍在探索相同的方法。 我有这样的工作流程
--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 是这种方法的答案。