PendingOperation
A reference to an ongoing asynchronous SDK operation, whose result is not yet known. It provides methods for checking whether the operation is complete, and whether it has succeeded. Additionally, it offers the ability to get its result either synchronously (blocking), or asynchronously via listeners.
If the operation succeeds, all completion and success listeners will be notified. The result will also be made available via the getResult() method. If the operation fails, all completion and failure listeners will be notified, and the error will be made available via the getError() method.
PendingOperation API
addOnCompleteListener
addOnCompleteListenerPendingOperation<Result,Error> addOnCompleteListener(OnCompleteListener<Result, Error> listener)Adds an OnCompleteListener that will be invoked after the operation completes.
addOnSuccessListener
addOnSuccessListenerPendingOperation<Result,Error> addOnSuccessListener(OnSuccessListener<Result> listener)Adds an OnSuccessListener that will be invoked after the operation succeeds.
addOnFailureListener
addOnFailureListenerPendingOperation<Result,Error> addOnFailureListener(OnFailureListener<Error> listener)Adds an OnFailureListener that will be invoked after the operation fails.
isComplete
isCompleteboolean isComplete()Returns whether the operation has completed. If
true, you can callisSuccessful()to check whether it succeeded.
isSuccessful
isSuccessfulboolean isSuccessful()Returns whether the operation has succeeded. If this method returns
true, you can callgetResult()to obtain the result. Otherwise if it returnsfalse, you can callgetError()to obtain the error.
waitFor
waitForPendingOperation<Result, Error> waitFor(int timeout, TimeUnit unit)Waits till the operation is complete for the duration that is specified. Call {@link #isComplete()} after this method, to check whether the operation completed or if this method timed out.
@throws
InterruptedExceptionif thread is interrupted while waiting
waitTillCompletion
waitTillCompletionPendingOperation<Result, Error> waitTillCompletion()Waits till the operation is complete.
throws
InterruptedExceptionif thread is interrupted while waiting.
getResult
getResultResult getResult()Returns the result of the operation.
throws
InterruptedExceptionif thread is interrupted while waiting. throwsSdkExceptionif the operation has failed.
getResultOrNull
getResultOrNullResult getResultOrNull()Returns the result of the operation if it completed successfully. Otherwise returns
null.
getError
getErrorError getError()Returns the error encountered during the operation.
throws
IllegalStateExceptionif the operation is not yet complete. throwsSdkExceptionif the PendingOperation has succeeded.
Last updated