在我的React.js应用程序中,我想使用XState框架来解决以下问题:在特定的状态下,我需要定期(间隔1秒)获取数据,并检查是否可以启动转换。我已经测试了这个结构:
// We are waiting for PIN
pinentering: {
on: {
// tick event
TICK: {
actions: [
assign({
pinSpawn: () => {
return spawn({
invoke: {
id: 'idPinEntering',
// Fetch data
src: (context, event) => context.tokenService.getSessionStatus(context.sessionId),
onDone: [
{
target: 'insertion',
cond: 'readerIsEmpty',
actions: ['storeSessionStatus']
},
{
target: 'busy',
cond: 'readerIsBusy',
actions: ['storeSessionStatus']
}
],
}
})
}
})
]
}
},
// Actions after state entering
entry: ['onEntryPining']
},
cardempty: ...如果收到TICK事件,则会出现此错误:无法派生类型为"object“的实体”%1“。我的问题是:如何正确地定期调用服务?
非常感谢你
米拉
发布于 2020-12-04 02:05:40
语法不正确;invoke是状态配置的属性。您还可以使用after指定在1秒后重新进入相同状态的外部转换。
pinEntering: {
invoke: {
id: 'idPinEntering',
// ...
},
after: {
1000: {
target: 'pinEntering',
internal: false // exit and re-enter
}
}
}https://stackoverflow.com/questions/65122124
复制相似问题