Class webdriver.promise.Deferred
code »webdriver.promise.Promise
└ webdriver.promise.DeferredRepresents a value that will be resolved at some point in the future. This
class represents the protected "producer" half of a Promise - each Deferred
has a promise property that may be returned to consumers for
registering callbacks, reserving the ability to resolve the deferred to the
producer.
If this Deferred is rejected and there are no listeners registered before
the next turn of the event loop, the rejection will be passed to the
webdriver.promise.ControlFlow as an unhandled failure.
If this Deferred is cancelled, the cancellation reason will be forward to the Deferred's canceller function (if provided). The canceller may return a truth-y value to override the reason provided for rejection.
Constructor
| Parameters |
|---|
|
Enumerations
|
Type Definitions
Instance Methods
Defined in webdriver.promise.Deferred
Defined in webdriver.promise.Promise
code »addBoth ( callback, opt_self ) ⇒ !webdriver.promise.PromiseDeprecated: Use #thenFinally() instead.Registers a function to be invoked when this promise is either rejected or
resolved. This function is provided for backwards compatibility with the
Dojo Deferred API.
!webdriver.promise.Promise#thenFinally() instead.| Parameters |
|---|
| Returns |
|
code »addCallback ( callback, opt_self ) ⇒ !webdriver.promise.PromiseDeprecated: Use #then() instead.Registers a function to be invoked when this promise is successfully
resolved. This function is provided for backwards compatibility with the
Dojo Deferred API.
!webdriver.promise.Promise#then() instead.| Parameters |
|---|
| Returns |
|
code »addCallbacks ( callback, errback, opt_self ) ⇒ !webdriver.promise.PromiseDeprecated: Use #then() instead.An alias for webdriver.promise.Promise.prototype.then that permits
the scope of the invoked function to be specified. This function is provided
for backwards compatibility with the Dojo Deferred API.
!webdriver.promise.Promise#then() instead.webdriver.promise.Promise.prototype.then that permits
the scope of the invoked function to be specified. This function is provided
for backwards compatibility with the Dojo Deferred API.| Parameters |
|---|
|
| Returns |
|
code »addErrback ( errback, opt_self ) ⇒ !webdriver.promise.PromiseDeprecated: Use #thenCatch() instead.Registers a function to be invoked when this promise is rejected.
This function is provided for backwards compatibility with the
Dojo Deferred API.
!webdriver.promise.Promise#thenCatch() instead.| Parameters |
|---|
| Returns |
|
code »then ( opt_callback, opt_errback ) ⇒ !webdriver.promise.PromiseRegisters listeners for when this instance is resolved. This function most
overridden by subtypes.
!webdriver.promise.Promise| Parameters |
|---|
|
| Returns |
|
code »thenCatch ( errback ) ⇒ !webdriver.promise.PromiseRegisters a listener for when this promise is rejected. This is synonymous
with the catch clause in a synchronous API:
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
!webdriver.promise.Promisecatch clause in a synchronous API:
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
| Parameters |
|---|
|
| Returns |
|
code »thenFinally ( callback ) ⇒ !webdriver.promise.PromiseRegisters a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the finally clause in a synchronous API:
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
Note: similar to the finally clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
!webdriver.promise.Promisefinally clause in a synchronous API:
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
| Parameters |
|---|
|