我有一个场景,我有一台父计算机和几台可以从父计算机生成的子计算机。
当前设置如下所示:
const parentMachine = Machine({
context: {
children: [] //can contain any number of child services
},
...
on: {
ADD_CHILD: {
actions: assign({
children: (ctx, e) => {
return [
...ctx.children,
{
ref: spawn(childMachine)
},
];
},
}),
},
UPDATE_CHILDREN: {
actions: ??? //need to somehow loop through children and send the UPDATE event to each service
}
}
});
当父机器收到“UPDATE_CHILDREN”事件时,我想更新每个子服务。我知道您可以通过将数组传递给来发送批处理事件send
,但我希望每个事件也被发送到不同的服务。我只看到一次将它们发送到单个服务的示例。我尝试了几件事,包括以下内容:
UPDATE_CHILDREN: {
actions: ctx => ctx.children.forEach(c => send("UPDATE", { to: () => c.ref }) //doesn't send
}
我错过了一些明显的东西吗?这可能吗?