gpt4 book ai didi

javascript - xstate 中的参与者和调用服务有什么区别?

转载 作者:行者123 更新时间:2023-12-05 00:27:11 24 4
gpt4 key购买 nike

我对 xstate 中 Actor 和调用服务之间的区别有点困惑,因为它们在我看来是一样的。

最佳答案

最简单的解释是services必须说明它们所处的状态。当机器进入/存在该状态时,它们会启动和停止。
Actor 不受某种状态的约束,可以在机器进入某种状态时启动和停止,但他们生活在 的环境中,并且您机器中的每个状态都可以访问它们。
示例:子机即服务(当机器进入pending状态时启动,当机器存在该状态时自动停止。

const parentMachine = Machine({
id: 'parent',
initial: 'pending',
states: {
pending: {
invoke: {
src: childMAchine
}
}
}
});
示例:子机作为actor,在机器进入 waiting时启动状态,以 localOne 的形式存在于上下文中属性(property)。
const parentMachine = Machine({
id: 'parent',
initial: 'waiting',
context: {
localOne: null
},
states: {
waiting: {
entry: assign({
localOne: () => spawn(childMachine)
})
}
}
});

关于javascript - xstate 中的参与者和调用服务有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66601274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com