[XState] raise event: trigger an action immediately when reach target state

import { Machine, actions } from "xstate";
const { raise } = actions;

// Demostrate `raise` action
const stubbornMachine = Machine({
  id: "raisedmo",
  initial: "entry",
  states: {
    entry: {
      on: {
        STEP: {
          target: "middle",
        },
        RAISE: {
          target: "middle",
          // immediately invoke the NEXT event in 'middle'
          actions: [raise("NEXT")],
        },
      },
    },
    middle: {
      on: {
        NEXT: "last",
      },
    },
    last: {
      on: {
        RESET: "entry",
      },
    },
  },
});

The raise() action creator queues an event to the statechart, in the internal event queue. This means the event is sent immediately on the current “step” of the interpreter.

https://stately.ai/viz/cced7743-87b5-41ad-b09a-c9bdf0ace635

 

posted @   Zhentiw  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2020-11-26 [RxJS] Filtering operator: first
2020-11-26 [Tools] Interactively exploring a large JSON file with fx
2020-11-26 [Javascript] Broadcaster + Operator + Listener pattern -- 22. mapError, wrap fetch with broadcaster with cancellation
2020-11-26 [Javascript] Cancel a promise
2020-11-26 [Tools] Uncaught ReferenceError: regeneratorRuntime is not defined
2019-11-26 [ML] Tensorflow.js + Image segmentPerson
2019-11-26 [Javascript] Generators & Iterable Objects
点击右上角即可分享
微信分享提示