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<Result,Error> addOnCompleteListener(OnCompleteListener<Result, Error> listener)
PendingOperation<Result,Error> addOnSuccessListener(OnSuccessListener<Result> listener)
PendingOperation<Result,Error> addOnFailureListener(OnFailureListener<Error> listener)
boolean isComplete()Returns whether the operation has completed. Iftrue
, you can callisSuccessful()
to check whether it succeeded.
boolean isSuccessful()Returns whether the operation has succeeded. If this method returnstrue
, you can callgetResult()
to obtain the result. Otherwise if it returnsfalse
, you can callgetError()
to obtain the error.
PendingOperation<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.@throwsInterruptedException
if thread is interrupted while waiting
PendingOperation<Result, Error> waitTillCompletion()Waits till the operation is complete.throwsInterruptedException
if thread is interrupted while waiting.
Result getResult()Returns the result of the operation.throwsInterruptedException
if thread is interrupted while waiting. throwsSdkException
if the operation has failed.
Result getResultOrNull()Returns the result of the operation if it completed successfully. Otherwise returnsnull
.
Error getError()Returns the error encountered during the operation.throwsIllegalStateException
if the operation is not yet complete. throwsSdkException
if the PendingOperation has succeeded.
Last modified 10mo ago