There may be a situation where the flow function finished (succeed or failed), and the self-resolve action wasn't processed yet. During this time there is a cancellation action for the workflow. When I invoke the cancellation function, the user can't know if the flow function executed or not because the self-resolve action wasn't processed yet.
Implications
During an execution of a cancellation function, the user MUST know which flow-functions finished (succeed or failed) and which didn't execute at all yet in that workflow. If the flow function run or not, is critical information that his logic will be based upon.
2
The Limitation
There may be a situation where the flow function finished (succeed or failed), and the self-resolve action wasn't processed yet. During this time there is a cancellation action for the workflow. When I invoke the cancellation function, the user can't know if the flow function executed or not because the self-resolve action wasn't processed yet.
Implications
During an execution of a cancellation function, the user MUST know which flow-functions finished (succeed or failed) and which didn't execute at all yet in that workflow. If the flow function run or not, is critical information that his logic will be based upon.
Current Code
https://github.com/stavalfi/workflow/blob/62d56ef870983c496797ffc9ca406352577ab0bc/src/reducer/createReducer.js#L191
By the docs of redux-loop, the
successActionCreator
will be dispatched in async mode.Possible Solution
forceSync
ensures that thesuccessActionCreator
will be dispatched sync and not async (If I understand correctly).Open Questions:
forceSync
is a feature of redux-loop.