Class DeferredObject<D>
java.lang.Object
cn.dinodev.spring.commons.promise.AbstractPromise<D>
cn.dinodev.spring.commons.promise.DeferredObject<D>
- Type Parameters:
D- Type of the resolved value
An implementation of
Deferred interface.
final Deferred deferredObject = new DeferredObject();
Promise promise = deferredObject.promise();
promise
.done(result -> { ... })
.fail(error -> { ... });
Runnable runnable = new Runnable() {
public void run() {
int sum = 0;
for (int i = 0; i < 100; i++) {
// something that takes time
sum += i;
}
deferredObject.resolve(sum);
}
}
// submit the task to run
- Author:
- Ray Tsang
-
Nested Class Summary
Nested classes/interfaces inherited from class cn.dinodev.spring.commons.promise.AbstractPromise
AbstractPromise.CallbackTypeNested classes/interfaces inherited from interface cn.dinodev.spring.commons.promise.Promise
Promise.State -
Field Summary
Fields inherited from class cn.dinodev.spring.commons.promise.AbstractPromise
alwaysCallbacks, condition, doneCallbacks, failCallbacks, lock, promiseState, rejectResult, resolveResult -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class cn.dinodev.spring.commons.promise.AbstractPromise
always, done, fail, get, getOrElse, getOrElse, handleException, isPending, isRejected, isResolved, state, then, then, triggerAlways, triggerAlways, triggerDone, triggerDone, triggerFail, triggerFail, waitSafely, waitSafelyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface cn.dinodev.spring.commons.promise.Promise
always, done, fail, getOrElse, getOrElse, isPending, isRejected, isResolved, state, then, then, waitSafely, waitSafely
-
Constructor Details
-
DeferredObject
public DeferredObject()
-
-
Method Details
-
resolve
Description copied from interface:DeferredThis should be called when a task has completed successfully.Deferred deferredObject = new DeferredObject(); Promise promise = deferredObject.promise(); promise.done(result -> { // Done! }); // another thread using the same deferredObject deferredObject.resolve("OK"); -
reject
Description copied from interface:DeferredThis should be called when a task has completed unsuccessfully, i.e., a failure may have occurred.Deferred deferredObject = new DeferredObject(); Promise promise = deferredObject.promise(); promise.fail(error -> { // Failed :( }); // another thread using the same deferredObject deferredObject.reject("BAD"); -
promise
Description copied from interface:DeferredReturn anPromiseinstance (i.e., an observer). You can register callbacks in this observer.
-