PureMVC Framework for haXe: API Documentation
Back | Index
class org.puremvc.haxe.patterns.command.AsyncMacroCommand
extends org.puremvc.haxe.patterns.observer.Notifier
implements org.puremvc.haxe.interfaces.INotifier
implements org.puremvc.haxe.interfaces.IAsyncCommand

A base ICommand implementation that executes other ICommands asynchronously.

An AsyncMacroCommand maintains a list of ICommand Class references called SubCommands.

When execute is called, the AsyncMacroCommand caches a reference to the INotification and calls nextCommand.

If there are still SubCommands's to be executed, the nextCommand method instantiates and calls execute on each of its SubCommands in turn. Each SubCommand will be passed a reference to the original INotification that was passed to the AsyncMacroCommand's execute method. If the SubCommand to execute is an IAsyncCommand, the next SubCommand will not be executed until the previous IAsyncCommand has called its commandComplete method.

Unlike AsyncCommand and SimpleCommand, your subclass should not override execute, but instead, should override the initializeAsyncMacroCommand method, calling addSubCommand once for each SubCommand to be executed.

function new() : Void

Constructor.

You should not need to define a constructor, instead, override the initializeAsyncMacroCommand method.

If your subclass does define a constructor, be sure to call super().

function execute(notification : org.puremvc.haxe.interfaces.INotification) : Void

Starts execution of this AsyncMacroCommand's SubCommands.

The SubCommands will be called in First In/First Out (FIFO) order.

function setOnComplete(value : Void -> Void) : Void
Registers the callback for a parent AsyncMacroCommand.
Back | Index