说,我有这种类型的网络流:

def myFlow = {
    state1 {
    }
    on("next").to("stateAct")

    stateAct {
        action {
            ... DB stuff ...
        }
    }
    on("success").to("state2")

    state2 {
    }
    on("prev").to("state1")
}

现在,“stateAct”的内容在state1和state2之间是公用的。意思是,如果我从state1按下“next”,我需要先经过stateAct才能进入state2(这是当前的实现),如果我在state2中按下“prev”,我需要它通过stateAct才能通过进入状态1。显然,在上面的示例Webflow中,它没有执行后者。

因此,我的问题是,有没有一种方法可以在stateAct中检测谁调用了它(state1或state2),以便我可以在“成功”位置进行相应的重定向?或类似的行为?

谢谢!

-李

最佳答案

为什么不将此信息存储在流范围的变量中?就像是:

def myFlow = {
    state1 {
      on("next") {
          flow.originator = 'state1'
      }.to("stateAct")
    }
    stateAct {
        action {
            if (flow.originator == 'state1') do something
            if (flow.originator == 'state2') do something else
        }
    }
    on("success").to("state2")

    state2 {

      on("prev"){
        flow.originator = 'state2'
      }.to("stateAct")
}

10-08 13:31