Message Dispatcher More...
Import Statement: | import . |
Inherited By: |
import QuickFlux 1.1
Dispatcher is a component for delivering action message.
Usually you don't need to declare a Dispatcher component by yourself beside writing test case. It is suggested to use AppDispatcher directly.
It is added since QuickFlux v1.1
This signal is emitted when an action message is ready to dispatch by Dispatcher.
There has several methods to listen this signal:
Method 1 - Using Store component
It is the suggested method. (Since QuickFlux 1.1)
import QuickFlux 1.1 Dispatcher { id: dispatcher } Store { bindSource: dispatcher Filter { type: ActionTypes.openItem onDispatcher: { // .. } } }
Method 2 - Using Connections component
import QuickFlux 1.1 Dispatcher { id: dispatcher } Connections { target: dispatcher onDispatched: { switch (type) { case "OpenItem"; // ... break; case "DeleteItem"; // ... break; } } }
This method is deprecated
Registers a callback to be invoked with every dispatched message. Returns a listener ID that can be used with waitFor().
Dispatch an action by the Dispatcher. An action consists two parts: The type and message.
The action may not be dispatched immediately. It will first pass to registered Middleware. They may modify / remove the action.
If there has more then one pending action, it will be placed on a queue to guarantees the order of messages are arrived in sequence to store (First come first served)
Store { Filter { type: ActionTypes.askToRemoveItem onDispatched: { if (options.skipRemoveConfirmation) { AppDispatcher.dispatch(ActionTypes.removeItem, message); // Because AppDispatcher is still dispatching ActionTypes.askToRemoveItem, // ActionTypes.removeItem will be placed in a queue and will dispatch when // all the listeners received current message. } } } }
This method is deprecated
Remove a callback by the listenerId returned by addListener
This method is deprecated
Waits for a callback specifed via the listenerId to be executed before continue execution of current callback. You should call this method only by a callback registered via addListener.