If you want to show an error when an AJAX request fails, that failure constitutes a change in application state, which should be reflected in a server action. This action would end up in an ErrorStore, which a DisplayErrors component would be listening to somewhere. If you show an alert dialog (for example), the user closing that dialog would also constitute a change in application state, as the error has been dismissed, which would be reflected in a view action, which would eventually get to the ErrorStore and remove that error.
This we agree on. But if you're doing your async stuff in your store, is this where you want to create your "setErrorAction", essentially creating actions inside your stores? The times I've done this it has ended painfully, and that pain went away if I kept these kind of state updates in actions.
Yes, the error action creator would be called from inside the store, which would in turn call handleServerAction. You may have been attempting to dispatch an action inside of an action, which isn't allowed. I hit that wall a few times.
You're right, I'm wrong. An cycle needs to complete before another action can be dispatched (against the same store I believe). I think I need some rest. :-)