Provides the ability to execute one or more arbitrary tasks in a multithreaded
manner. Generally, you can use the singleton
Ext.TaskMgr instead, but
if needed, you can create separate instances of TaskRunner. Any number of
separate tasks can be started at any time and will run independently of each
other. Example usage:
// Start a simple clock task that updates a div once per second
var updateClock = function(){
Ext.fly('clock').update(new Date().format('g:i:s A'));
}
var task = {
run: updateClock,
interval: 1000 //1 second
}
var runner = new Ext.util.TaskRunner();
runner.start(task);
// equivalent using TaskMgr
Ext.TaskMgr.start({
run: updateClock,
interval: 1000
});
See the start method for details about how to configure a task object.
Also see
Ext.util.DelayedTask.
Public Properties
This class has no public properties.
Public Methods
|
| TaskRunner( [Number interval] ) | TaskRunner |
| start( Object task ) : ObjectStarts a new task. Starts a new task. Parameters:task : ObjectA config object that supports the following properties:
run : FunctionThe function to execute each time the task is invoked. The
function will be called at each interval and passed the args argument if specified, and the
current invocation count if not.
If a particular scope (this reference) is required, be sure to specify it using the scope argument.
Return false from this function to terminate the task.
interval : NumberThe frequency in milliseconds with which the task
should be invoked.
args : Array(optional) An array of arguments to be passed to the function
specified by run . If not specified, the current invocation count is passed.
scope : Object(optional) The scope (this reference) in which to execute the
run function. Defaults to the task config object.
duration : Number(optional) The length of time in milliseconds to invoke
the task before stopping automatically (defaults to indefinite).
repeat : Number(optional) The number of times to invoke the task before
stopping automatically (defaults to indefinite).
Before each invocation, Ext injects the property taskRunCount into the task object so
that calculations based on the repeat count can be performed. Returns: | TaskRunner |
| stop( Object task ) : ObjectStops an existing running task. Stops an existing running task. Parameters:task : ObjectThe task to stop Returns: | TaskRunner |
| stopAll() : voidStops all tasks that are currently running. Stops all tasks that are currently running. | TaskRunner |
Public Events
This class has no public events.