[XSTATE] XSTATEで使用内部遷移が状態を終了し、再入国を避けるために、

トランジションは2種類があります:「外部」と「内部」。デフォルトでは、移行は、外部と考えられています。遷移はれることを、この手段  終了  現在の状態ノードを、そして  入力  (すなわち状態ノードマシンが現在ある状態であっても)次の状態ノード。この出口/に設定されている任意のアクションをトリガーするループを入力  exit し、  entry プロパティを。

遷移は、いずれかの設定を介して、内部に設定することができ  . 、またはプロパティを設定することを介して状態ノード名の前に(ドット)(このレッスンで行うように)  internal に  true 遷移オブジェクトに。

遷移が内部である場合、それに行動することを意味する状態ノード、出口と入らない  exit/transition/entry ループが呼び出されませんが。

 

CONST {マシン} =必要とする(" XSTATE " )。

CONST idleMachine = マシン(
  { 
    ID:" アイドル" 
    初期:" アイドル" 
    状態:{ 
      アイドル:{ 
        エントリ:[ " ませんlogEntry " ]、
        出口:[ " logExit " ] 
      } 
    }、
    に関する:{ 
      DO_NOTHING:" .idle  // 追加『』自分自身にそれを指すように、通話終了とentryアクションなし
    } 
  }、
  { 
    アクション:{ 
      ませんlogEntry:() => { 
        にconsole.log(" 入力" )。
      }、
      logExit:() => { 
        にconsole.logは(" 終了" )。
      } 
    } 
  } 
)。

 

おすすめ

転載: www.cnblogs.com/Answer1215/p/12215442.html