Deferred objeccts and their promises allow us to react to the conpletion of long-running tasks with a convenient syntax.
目录
Object creation
Function | Description |
---|---|
$.Deferred([setupFunction]) | Returns a new deferred object. |
$.when(deferreds) | Returns a promise object to be resolved when the given deferred objecs are resolved. |
Methods of deferred objects
Method | Description |
---|---|
.resolve([args]) | Sets the state of the object to resolved. |
.resolveWith(context, [args]) | Sets the state of the objec to resolved while making the keyword this refer to context within callbacks. |
.rejectWith([args]) | Sets the state of the object to rejected. |
.rejectWith(context, [args]) | Sets the state of the object to rejected while making the keyword this refer to context within callbacks. |
.notify([args]) | Executes any progress callbacks. |
.notifyWith(context, [args]) | Executes any progress callback while making the keyword this refer to context. |
.promise([target]) | Returns a promise object corresponding to this deferred object. |
Methods of promise objects
Method | Description |
---|---|
.done(callback) | Executes callback when the object is resolved. |
.fail(callback) | Executes callback when the object is rejected. |
.always(callback) | Executes callback when the object is resolved or rejected. |
.then(doneCallbacks, failCallbacks) | Executes doneCallbacks when the object is resolved, or failCallbacks when the object is rejected. |
.progress(callback) | Executes callback each time the object receives a progress notification. |
.isRejected() | Returns true if the object has been rejected. |
.isResolved() | Returns true if the object has been resolved. |
.state() | Returns ‘pending’, ‘resolved’, or ‘rejected’ depending on the current state. |
.pipe([doneFilter], [failFilter]) | Returns a new promise object which is resolved when the original promise is, optionally after filtering the object’s status through a function. |