我目前正在使用 xstate 开发一个应用程序,我有一台父计算机生成两个不同的子计算机,子计算机对不同的 API 端点进行提取,并且它们都根据状态向父计算机发送解决或拒绝事件在 API 调用中,我需要有关如何确保在转换到父计算机上的空闲状态之前完成所有提取的帮助。
取机:
const fetchMachine: FetchMachine =(
fetchFunction
) => (
{
id: 'fetch',
initial: States.Initialize,
context: {
response: null,
error: null
},
states: {
[States.Initialize]: {
on: {
'FETCH.REQUEST': {
target: States.Pending,
}
}
},
[States.Pending]: {
invoke: {
src: 'fetch',
onDone: {
target: States.Success,
actions: ['updateResponse']
},
onError: {
target: States.Failure,
actions: ['updateError']
}
},
},
[States.Success]: {
entry: ['fetchSuccess'],
on: {
'FETCH.REQUEST': States.Pending
}
},
[States.Failure]: {
entry: ['fetchFailure'],
on: {
'FETCH.REQUEST': States.Pending
}
}
}
}
上面的机器将事件的请求发送回父级。
现在的问题是父机器并行使用这台机器,我需要帮助来确保在转换到父机器上的空闲状态之前完成所有提取。