I read through the Docs for a way to externally wait for the FSM to reach a specific state (for example wait for an idle-State before tearing the connection down). This would either run directly if the FSM is already in this state or defer for the next transition to that state.
I had to do this in consumer-Code like this:
function disconnectOnIdle() {
…
}
if(connection.state === 'idle') {
disconnectOnIdle();
}
else {
console.log('Waiting for Idle-State…');
connection.on("transition", data => {
if(data.toState === 'idle') {
disconnectOnIdle();
}
});
}
But I think this Code is rather convoluted and such a requirement should be supported by the FSM class. by providing a Callback-Method like connection.onState('idle', () = { … }).
I read through the Docs for a way to externally wait for the FSM to reach a specific state (for example wait for an
idle
-State before tearing the connection down). This would either run directly if the FSM is already in this state or defer for the next transition to that state.I had to do this in consumer-Code like this:
But I think this Code is rather convoluted and such a requirement should be supported by the FSM class. by providing a Callback-Method like
connection.onState('idle', () = { … })
.