全局过渡到“捕获全部完成清除退出”状态

时间:2019-07-11 04:50:21

标签: javascript xstate

我有一个捕获所有错误的状态,可以对我的应用程序进行一些清理并很好地退出。

当前,我必须创建一个特定的事件{type: "unexpected_error"}并向我的计算机的每个状态添加一个过渡来实现。

有没有一种更简单的方法可以为所有状态指定过渡,因此不必将过渡添加到每个状态?

1 个答案:

答案 0 :(得分:1)

是的!您可以在顶级计算机上放置过渡。

> DF[,-c('SEQ_DATE.A','SEQ_DATE.B'), with =F][Result == 'TRUE']

   ID    Start.A      End.A    Start.B      End.B Result
1:  1 2019-01-01 2019-01-31 2019-01-01 2019-01-31   TRUE
2:  1 2019-03-15 2019-04-15 2019-03-01 2019-03-31   TRUE
3:  3 2015-05-10 2015-06-10 2015-06-01 2015-06-30   TRUE
4:  3 2015-05-15 2015-06-02 2015-06-01 2015-06-30   TRUE

或者,由于它只是一个JavaScript对象,因此您可以创建一个辅助函数:

const machine = Machine({
  // ...
  states: { /*...*/ },
  // top-level transition
  on: {
    "unexpected-error": { actions: /*...*/ }
  }
});