Ext JS 4.0.7 Sencha Docs

Ext.util.DelayedTask

Files

The DelayedTask class provides a convenient way to "buffer" the execution of a method, performing setTimeout where a new timeout cancels the old timeout. When called, the task will wait the specified time period before executing. If durng that time period, the task is called again, the original call will be cancelled. This continues so that the function is only called a single time for each iteration.

This method is especially useful for things like detecting whether a user has finished typing in a text field. An example would be performing validation on a keypress. You can use this class to buffer the keypress events for a certain number of milliseconds, and perform only if they stop for that amount of time.

Usage

var task = new Ext.util.DelayedTask(function(){
    alert(Ext.getDom('myInputField').value.length);
});

// Wait 500ms before calling our function. If the user presses another key
// during that 500ms, it will be cancelled and we'll wait another 500ms.
Ext.get('myInputField').on('keypress', function(){
    task.delay(500);
});

Note that we are using a DelayedTask here to illustrate a point. The configuration option buffer for addListener/on will also setup a delayed task for you to buffer events.

Available since: 1.1.0

Defined By

Methods

Ext.util.DelayedTask
view source
new( [fn], [scope], [args] ) : Ext.util.DelayedTask
The parameters to this constructor serve as defaults and are not required. ...

The parameters to this constructor serve as defaults and are not required.

Available since: 1.1.0

Parameters

  • fn : Function (optional)

    The default function to call. If not specified here, it must be specified during the delay call.

  • scope : Object (optional)

    The default scope (The this reference) in which the function is called. If not specified, this will refer to the browser window.

  • args : Array (optional)

    The default Array of arguments.

Returns

Ext.util.DelayedTask
view source
( )
Cancel the last queued timeout ...

Cancel the last queued timeout

Available since: 1.1.0

Ext.util.DelayedTask
view source
( delay, [newFn], [newScope], [newArgs] )
Cancels any pending timeout and queues a new one ...

Cancels any pending timeout and queues a new one

Available since: 1.1.0

Parameters

  • delay : Number

    The milliseconds to delay

  • newFn : Function (optional)

    Overrides function passed to constructor

  • newScope : Object (optional)

    Overrides scope passed to constructor. Remember that if no scope is specified, this will refer to the browser window.

  • newArgs : Array (optional)

    Overrides args passed to constructor