AsyncOperation<T> Класс
- java.
lang. Object - java.
util. concurrent. Future<T> - com.
microsoft. connecteddevices. AsyncOperation<T>
- com.
- java.
Параметры типа
- T
public class AsyncOperation
Операция, которая имеет будущий результат типа T или возможное исключение. Этот класс является немного упрощенной версией класса Android API уровня 24 CompletableFuture
Реализует стандартный интерфейс будущих, а также предоставляет основные функции продолжения. Подробные сведения об использовании этого класса см. в ЗавершенииFuture.
Важные различия между ЗавершениемFuture и AsyncOperation приведены следующим образом: 1. По умолчанию асинхронный исполнитель AsyncOperation — Executors.newCachedThreadPool(), тогда как в Приложении CompletableFuture используется ForkJoinPool.commonPool(). 2. AsyncOperation не хватает методов obtrudeException и obtrudeValue.
Сводка по конструктору
| Конструктор | Описание |
|---|---|
| AsyncOperation() |
Создает новую AsyncOperation |
Сводка по методу
| Модификатор и тип | Метод и описание |
|---|---|
|
<U> Async |
_handleAsyncInternal(AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, Executor executor)
Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. |
|
Async |
_whenCompleteAsyncInternal(AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, Executor executor)
Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии |
|
Async |
acceptEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, AsyncOperation.ResultConsumer<? super T> action, @NonNull Executor executor)
Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
Async |
allOf(@NonNull AsyncOperation<?>... operations)
Создает операцию, которая завершится после завершения всех переданных операций. |
|
Async |
anyOf(@NonNull AsyncOperation<?>... operations)
Создает операцию, которая завершится после завершения любой из переданных операций. |
|
<U> Async |
applyToEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
<U> Async |
applyToEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
<U> Async |
applyToEitherAsync(@NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action, @NonNull Executor executor)
Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
| boolean |
cancel(boolean mayInterruptIfRunning)
Пытается отменить будущее и прекратить ожидание результата. Отмена AsyncOperation приводит к тому, что все потоки, ожидающие будущего через get(), немедленно получают ОтменуException. Выполнение операции не прерывается, но любые возможные результаты от отмененного вызова будут игнорироваться. |
| final void |
complete(T value)
Завершает работу с заданным значением. |
|
static<U> Async |
completedFuture(U value)
Создает операцию, которая уже завершена с заданным значением. |
| final void |
completeExceptionally(@NonNull Throwable ex)
Задает исключение, которое будет создано при извлечении будущего значения и помечает будущее. |
|
Async |
exceptionally(@NonNull AsyncOperation.ResultFunction<Throwable, ? extends T> action)
Позволяет присоединять продолжения, которые выполняются только в случае исключительного завершения этой операции. Обратите внимание, что нет вариантов *async* исключительно, поэтому действие не должно быть длительным, так как оно может блокировать поток, завершив эту операцию или вызывающий поток (в случае уже завершенной операции). |
| T |
get()
Возвращает значение будущего, ожидая, если это необходимо, пока не будет выполнено будущее. |
| T |
get(long timeout, @NonNull TimeUnit unit)
Пытается получить будущее значение, ожидая, если это необходимо, пока будущее не завершится или пока не завершится время ожидания. |
| final T |
getNow(T valueIfAbsent)
Возвращает значение операции немедленно, возвращая переданное значение, если операция еще не завершена. |
| int |
getNumberOfDependents()
Возвращает предполагаемое количество операций, зависящих от этой операции. Это не предназначено для синхронизации и планирования. |
|
<U> Async |
handle(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. |
|
<U> Async |
handleAsync(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. |
|
<U> Async |
handleAsync( @NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, @NonNull Executor executor)
Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. |
| boolean |
isCancelled()
Проверяет, успешно ли было отменено будущее. |
| boolean |
isCompletedExceptionally()
Проверяет, завершена ли операция любым исключительным способом (отмена или завершение) |
| boolean |
isDone()
Проверяет, будет ли сделано будущее. Будущее выполняется, когда будет задан результат или задано исключение. |
| T |
join()
Возвращает значение будущего, ожидая, если это необходимо, пока не будет выполнено будущее. В отличие от get() соединение создает исключение CompletionException, если в процессе выполнения этой операции возникло какое-либо исключение. |
|
Async |
runAfterBoth(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
Async |
runAfterEither(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
Async |
runAfterEitherAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
Async |
runAfterEitherAsync( @NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно. |
|
Async |
runAsync(@NonNull Runnable runnable)
Создает операцию, которая будет выполнять переданную в Runnable для исполнителя по умолчанию |
|
Async |
runAsync(@NonNull Runnable runnable, @NonNull Executor executor)
Создает операцию, которая будет запускать переданную в Runnable для переданного исполнителя |
|
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier)
Создает операцию, которая будет использовать исполнителя по умолчанию для получения значения от поставщика |
|
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier, @NonNull Executor executor)
Создает операцию, которая будет использовать переданную в исполнителях операцию, чтобы получить значение от поставщика. |
|
Async |
thenAccept(@NonNull ResultConsumer<? super T> action)
После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно. |
|
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action)
После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно. |
|
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action, @NonNull Executor executor)
После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно. |
|
<U> Async |
thenAcceptBoth( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
<U> Async |
thenAcceptBothAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
<U> Async |
thenAcceptBothAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action, @NonNull Executor executor)
После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
<U> Async |
thenApply(@NonNull ResultFunction<? super T, ? extends U> action)
Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции. |
|
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action)
Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции. |
|
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action, @NonNull Executor executor)
Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции. |
|
<U, V> Async |
thenCombine( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
<U, V> Async |
thenCombineAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
<U, V> Async |
thenCombineAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action, @NonNull Executor executor)
После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно. |
|
<U> Async |
thenCompose(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>> |
|
<U> Async |
thenComposeAsync(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>> |
|
<U> Async |
thenComposeAsync(AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action, Executor executor)
После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>> |
|
Async |
thenRun(@NonNull Runnable action)
После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции. |
|
Async |
thenRunAsync(@NonNull Runnable action)
После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции. |
|
Async |
thenRunAsync(@NonNull Runnable action, @NonNull Executor executor)
После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции. |
|
Async |
whenComplete(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии |
|
Async |
whenCompleteAsync(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии |
|
Async |
whenCompleteAsync( @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, @NonNull Executor executor)
Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии |
Сведения о конструкторе
AsyncOperation
public AsyncOperation()
Создает новую AsyncOperation
Сведения о методе
_handleAsyncInternal
protected AsyncOperation _handleAsyncInternal(AsyncOperation.ResultBiFunction action, Executor executor)
Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.
Параметры:
Возвращаемое значение:
_whenCompleteAsyncInternal
protected AsyncOperation
Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии
Параметры:
Возвращаемое значение:
acceptEither
public AsyncOperation
Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.
Параметры:
Возвращаемое значение:
acceptEitherAsync
public AsyncOperation
Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.
Параметры:
Возвращаемое значение:
acceptEitherAsync
public AsyncOperation
Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.
Параметры:
Возвращаемое значение:
allOf
public static AsyncOperation
Создает операцию, которая завершится после завершения всех переданных операций.
Параметры:
Возвращаемое значение:
anyOf
public static AsyncOperation