AsyncOperation<T> Класс

  • java.lang.Object
    • java.util.concurrent.Future<T>
      • com.microsoft.connecteddevices.AsyncOperation<T>

Параметры типа

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> AsyncOperation<U> _handleAsyncInternal(AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, Executor executor)

Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.

AsyncOperation<T> _whenCompleteAsyncInternal(AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, Executor executor)

Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии

AsyncOperation<Void> acceptEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)

Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)

Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, AsyncOperation.ResultConsumer<? super T> action, @NonNull Executor executor)

Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> allOf(@NonNull AsyncOperation<?>... operations)

Создает операцию, которая завершится после завершения всех переданных операций.

AsyncOperation<Object> anyOf(@NonNull AsyncOperation<?>... operations)

Создает операцию, которая завершится после завершения любой из переданных операций.

<U> AsyncOperation<U> applyToEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)

Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

<U> AsyncOperation<U> applyToEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)

Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

<U> AsyncOperation<U> 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> AsyncOperation<U> completedFuture(U value)

Создает операцию, которая уже завершена с заданным значением.

final void completeExceptionally(@NonNull Throwable ex)

Задает исключение, которое будет создано при извлечении будущего значения и помечает будущее.

AsyncOperation<T> 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> AsyncOperation<U> handle(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)

Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.

<U> AsyncOperation<U> handleAsync(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)

Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.

<U> AsyncOperation<U> 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, если в процессе выполнения этой операции возникло какое-либо исключение.

AsyncOperation<Void> runAfterBoth(@NonNull AsyncOperation<?> other, @NonNull Runnable action)

Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)

Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)

Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> runAfterEither(@NonNull AsyncOperation<?> other, @NonNull Runnable action)

Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> runAfterEitherAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)

Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> runAfterEitherAsync( @NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)

Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

AsyncOperation<Void> runAsync(@NonNull Runnable runnable)

Создает операцию, которая будет выполнять переданную в Runnable для исполнителя по умолчанию

AsyncOperation<Void> runAsync(@NonNull Runnable runnable, @NonNull Executor executor)

Создает операцию, которая будет запускать переданную в Runnable для переданного исполнителя

static<U> AsyncOperation<U> supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier)

Создает операцию, которая будет использовать исполнителя по умолчанию для получения значения от поставщика

static<U> AsyncOperation<U> supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier, @NonNull Executor executor)

Создает операцию, которая будет использовать переданную в исполнителях операцию, чтобы получить значение от поставщика.

AsyncOperation<Void> thenAccept(@NonNull ResultConsumer<? super T> action)

После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно.

AsyncOperation<Void> thenAcceptAsync(@NonNull ResultConsumer<? super T> action)

После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно.

AsyncOperation<Void> thenAcceptAsync(@NonNull ResultConsumer<? super T> action, @NonNull Executor executor)

После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно.

<U> AsyncOperation<Void> thenAcceptBoth( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)

После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

<U> AsyncOperation<Void> thenAcceptBothAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)

После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

<U> AsyncOperation<Void> thenAcceptBothAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action, @NonNull Executor executor)

После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

<U> AsyncOperation<U> thenApply(@NonNull ResultFunction<? super T, ? extends U> action)

Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции.

<U> AsyncOperation<U> thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action)

Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции.

<U> AsyncOperation<U> thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action, @NonNull Executor executor)

Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции.

<U, V> AsyncOperation<V> thenCombine( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)

После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

<U, V> AsyncOperation<V> thenCombineAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)

После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

<U, V> AsyncOperation<V> thenCombineAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action, @NonNull Executor executor)

После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

<U> AsyncOperation<U> thenCompose(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)

После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>>

<U> AsyncOperation<U> thenComposeAsync(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)

После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>>

<U> AsyncOperation<U> thenComposeAsync(AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action, Executor executor)

После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>>

AsyncOperation<Void> thenRun(@NonNull Runnable action)

После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции.

AsyncOperation<Void> thenRunAsync(@NonNull Runnable action)

После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции.

AsyncOperation<Void> thenRunAsync(@NonNull Runnable action, @NonNull Executor executor)

После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции.

AsyncOperation<T> whenComplete(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)

Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии

AsyncOperation<T> whenCompleteAsync(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)

Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии

AsyncOperation<T> 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)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.

Параметры:

action - Функция, которая будет выполняться после завершения этой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

_whenCompleteAsyncInternal

protected AsyncOperation _whenCompleteAsyncInternal(AsyncOperation.ResultBiConsumer action, Executor executor)

Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии

Параметры:

action - Функция, которая будет выполняться после завершения этой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

acceptEither

public AsyncOperation acceptEither( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultConsumer action)

Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - ResultConsumer, который будет выполнен после завершения любой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

acceptEitherAsync

public AsyncOperation acceptEitherAsync( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultConsumer action)

Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - ResultConsumer, который будет выполнен после завершения любой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

acceptEitherAsync

public AsyncOperation acceptEitherAsync( @NonNull AsyncOperation other, AsyncOperation.ResultConsumer action, @NonNull Executor executor)

Трио acceptEither функций запускает переданный в ResultConsumer, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - ResultConsumer, который будет выполнен после завершения любой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

allOf

public static AsyncOperation allOf(@NonNull AsyncOperation... operations)

Создает операцию, которая завершится после завершения всех переданных операций.

Параметры:

operations - список операций в "AND" вместе

Возвращаемое значение:

Новая асинхронная операция, которая завершится после завершения всех операций

anyOf

public static AsyncOperation anyOf(@NonNull AsyncOperation... operations)

Создает операцию, которая завершится после завершения любой из переданных операций.

Параметры:

operations - список операций в "OR" вместе

Возвращаемое значение:

Новая асинхронная операция, которая завершится после завершения любых операций

applyToEither

public AsyncOperation applyToEither( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultFunction action)

Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - ResultFunction, который будет выполнен после завершения любой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

applyToEitherAsync

public AsyncOperation applyToEitherAsync( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultFunction action)

Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - ResultFunction, который будет выполнен после завершения любой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

applyToEitherAsync

public AsyncOperation applyToEitherAsync(@NonNull AsyncOperation other, @NonNull AsyncOperation.ResultFunction action, @NonNull Executor executor)

Трио функции applyToEither выполняют переданное в ResultFunction, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - ResultFunction, который будет выполнен после завершения любой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

cancel

public boolean cancel(boolean mayInterruptIfRunning)

Пытается отменить будущее и прекратить ожидание результата.

Отмена AsyncOperation приводит к тому, что все потоки, ожидающие будущего через get(), немедленно получают ОтменуException. Выполнение операции не прерывается, но любые возможные результаты от отмененного вызова будут игнорироваться.

Параметры:

mayInterruptIfRunning - игнорируется, так как операции не могут быть прерваны.

Возвращаемое значение:

значение true, если будущее было отменено до его завершения; Значение false, если будущее не может быть отменено, так как оно уже завершено.

complete

public final void complete(T value)

Завершает работу с заданным значением.

Параметры:

value - Результат операции или null для успешного, но пустого результата.

completedFuture

public static static AsyncOperation completedFuture(U value)

Создает операцию, которая уже завершена с заданным значением.

Параметры:

value - значение, с помощью которого выполняется операция

Возвращаемое значение:

Новая асинхронная операция, которая уже завершена

completeExceptionally

public final void completeExceptionally(@NonNull Throwable ex)

Задает исключение, которое будет создано при извлечении будущего значения и помечает будущее.

Параметры:

ex - Вызывается, с помощью которого выполняется операция.

exceptionally

public AsyncOperation exceptionally(@NonNull AsyncOperation.ResultFunction action)

Позволяет присоединять продолжения, которые выполняются только в случае исключительного завершения этой операции. Обратите внимание, что нет вариантов *async* исключительно, поэтому действие не должно быть длительным, так как оно может блокировать поток, завершив эту операцию или вызывающий поток (в случае уже завершенной операции).

Параметры:

action - действие, выполняемого при выполнении операции исключительно.

get

public T get()

Возвращает значение будущего, ожидая, если это необходимо, пока не будет выполнено будущее.

Возвращаемое значение:

Результат операции или null для успешного, но пустого результата.

get

public T get(long timeout, @NonNull TimeUnit unit)

Пытается получить будущее значение, ожидая, если это необходимо, пока будущее не завершится или пока не завершится время ожидания.

Параметры:

timeout
unit

Возвращаемое значение:

Результат или null для успешного, но пустого результата.

getNow

public final T getNow(T valueIfAbsent)

Возвращает значение операции немедленно, возвращая переданное значение, если операция еще не завершена.

Параметры:

valueIfAbsent - Значение по умолчанию для возврата, если операция не завершена

Возвращаемое значение:

Результат операции, null для успешного, но пустого результата или переданного значения, если операция еще не завершена.

getNumberOfDependents

public int getNumberOfDependents()

Возвращает предполагаемое количество операций, зависящих от этой операции. Это не предназначено для синхронизации и планирования.

Возвращаемое значение:

количество операций, ожидающих завершения этой операции.

handle

public AsyncOperation handle(@NonNull AsyncOperation.ResultBiFunction action)

Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.

Параметры:

action - Функция, которая будет выполняться после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

handleAsync

public AsyncOperation handleAsync(@NonNull AsyncOperation.ResultBiFunction action)

Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.

Параметры:

action - Функция, которая будет выполняться после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

handleAsync

public AsyncOperation handleAsync( @NonNull AsyncOperation.ResultBiFunction action, @NonNull Executor executor)

Трио дескриптор функций (handle(action), handleAsync(action) и handleAsync(action,Executor)) — это самые основные функции продолжения, на основе которых создаются другие. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа.

Параметры:

action - Функция, которая будет выполняться после завершения этой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

isCancelled

public boolean isCancelled()

Проверяет, успешно ли было отменено будущее.

Возвращаемое значение:

Если операция отменена

isCompletedExceptionally

public boolean isCompletedExceptionally()

Проверяет, завершена ли операция любым исключительным способом (отмена или завершение)

Возвращаемое значение:

Если операция завершена исключительно (отмена или явно)

isDone

public boolean isDone()

Проверяет, будет ли сделано будущее. Будущее выполняется, когда будет задан результат или задано исключение.

Возвращаемое значение:

Если операция выполнена

join

public T join()

Возвращает значение будущего, ожидая, если это необходимо, пока не будет выполнено будущее. В отличие от get() соединение создает исключение CompletionException, если в процессе выполнения этой операции возникло какое-либо исключение.

Возвращаемое значение:

Результат операции или null для успешного, но пустого результата.

runAfterBoth

public AsyncOperation runAfterBoth(@NonNull AsyncOperation other, @NonNull Runnable action)

Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - Запуск, который будет выполняться после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

runAfterBothAsync

public AsyncOperation runAfterBothAsync(@NonNull AsyncOperation other, @NonNull Runnable action)

Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - Запуск, который будет выполняться после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

runAfterBothAsync

public AsyncOperation runAfterBothAsync(@NonNull AsyncOperation other, @NonNull Runnable action, @NonNull Executor executor)

Трио функций runAfterBoth запускает переданный в Runnable, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - Запуск, который будет выполняться после завершения обеих операций
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

runAfterEither

public AsyncOperation runAfterEither(@NonNull AsyncOperation other, @NonNull Runnable action)

Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - Выполнение, которое будет выполняться после завершения любой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

runAfterEitherAsync

public AsyncOperation runAfterEitherAsync(@NonNull AsyncOperation other, @NonNull Runnable action)

Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - Выполнение, которое будет выполняться после завершения любой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

runAfterEitherAsync

public AsyncOperation runAfterEitherAsync( @NonNull AsyncOperation other, @NonNull Runnable action, @NonNull Executor executor)

Трио функций runAfterEither запускает переданный в Runnable, когда эта операция или переданная операция успешно завершается. Если операция, которая завершается так исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "OR" вместе
action - Выполнение, которое будет выполняться после завершения любой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

runAsync

public static AsyncOperation runAsync(@NonNull Runnable runnable)

Создает операцию, которая будет выполнять переданную в Runnable для исполнителя по умолчанию

Параметры:

runnable - действие для выполнения

Возвращаемое значение:

Новая асинхронная операция, которая завершится после завершения запуска.

runAsync

public static AsyncOperation runAsync(@NonNull Runnable runnable, @NonNull Executor executor)

Создает операцию, которая будет запускать переданную в Runnable для переданного исполнителя

Параметры:

runnable - действие для выполнения
executor - исполнитель, на котором выполняется действие

Возвращаемое значение:

Новая асинхронная операция, которая завершится после завершения запуска.

supplyAsync

public static static AsyncOperation supplyAsync(@NonNull AsyncOperation.Supplier supplier)

Создает операцию, которая будет использовать исполнителя по умолчанию для получения значения от поставщика

Параметры:

supplier - поставщик, из которого требуется получить значение для выполнения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая будет выполнена со значением от поставщика

supplyAsync

public static static AsyncOperation supplyAsync(@NonNull AsyncOperation.Supplier supplier, @NonNull Executor executor)

Создает операцию, которая будет использовать переданную в исполнителях операцию, чтобы получить значение от поставщика.

Параметры:

supplier - поставщик, из которого требуется получить значение для выполнения этой операции
executor - исполнитель, на котором выполняется действие

Возвращаемое значение:

Новая асинхронная операция, которая будет выполнена со значением от поставщика

thenAccept

public AsyncOperation thenAccept(@NonNull ResultConsumer action)

После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно.

Параметры:

action - ResultConsumer, который будет выполнен после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenAcceptAsync

public AsyncOperation thenAcceptAsync(@NonNull ResultConsumer action)

После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно.

Параметры:

action - ResultConsumer, который будет выполнен после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenAcceptAsync

public AsyncOperation thenAcceptAsync(@NonNull ResultConsumer action, @NonNull Executor executor)

После этого трио функцийAccept (тоAccept(action), затемAcceptAsync(action), а затемAcceptAsync(action,Executor)) выполните переданное в ResultConsumer, когда эта операция завершится успешно.

Параметры:

action - ResultConsumer, который будет выполнен после завершения этой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenAcceptBoth

public AsyncOperation thenAcceptBoth( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultBiConsumer action)

После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - ResultConsumer, который будет выполняться после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenAcceptBothAsync

public AsyncOperation thenAcceptBothAsync( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultBiConsumer action)

После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - ResultConsumer, который будет выполняться после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenAcceptBothAsync

public AsyncOperation thenAcceptBothAsync(@NonNull AsyncOperation other, @NonNull AsyncOperation.ResultBiConsumer action, @NonNull Executor executor)

После этого трио функцийAcceptBoth запускает переданный в ResultConsumer, когда эта операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - ResultConsumer, который будет выполняться после завершения обеих операций
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenApply

public AsyncOperation thenApply(@NonNull ResultFunction action)

Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции.

Параметры:

action - ResultFunction, который будет выполнен после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenApplyAsync

public AsyncOperation thenApplyAsync(@NonNull ResultFunction action)

Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции.

Параметры:

action - ResultFunction, который будет выполнен после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenApplyAsync

public AsyncOperation thenApplyAsync(@NonNull ResultFunction action, @NonNull Executor executor)

Затем трио функцийApply (thenApplyAsync(action), thenApplyAsync(action), а затемApplyAsync(action,Executor)) запускает переданный в ResultFunction после успешного завершения этой операции.

Параметры:

action - ResultFunction, который будет выполнен после завершения этой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenCombine

public AsyncOperation thenCombine( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultBiFunction action)

После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - ResultFunction, который будет выполнен после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenCombineAsync

public AsyncOperation thenCombineAsync( @NonNull AsyncOperation other, @NonNull AsyncOperation.ResultBiFunction action)

После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - ResultFunction, который будет выполнен после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenCombineAsync

public AsyncOperation thenCombineAsync(@NonNull AsyncOperation other, @NonNull AsyncOperation.ResultBiFunction action, @NonNull Executor executor)

После этого трио функций выполняет переданный в ResultFunction трио функций, когда эта операция успешно завершается и переданная операция успешно завершается. Если любая операция завершается исключительно, возвращенная операция также завершается исключительно.

Параметры:

other - другая операция "AND" вместе
action - ResultFunction, который будет выполнен после завершения обеих операций
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenCompose

public AsyncOperation thenCompose(@NonNull AsyncOperation.ResultFunction> action)

После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>>

Параметры:

action - Функция, которая будет выполняться после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenComposeAsync

public AsyncOperation thenComposeAsync(@NonNull AsyncOperation.ResultFunction> action)

После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>>

Параметры:

action - Функция, которая будет выполняться после завершения обеих операций

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenComposeAsync

public AsyncOperation thenComposeAsync(AsyncOperation.ResultFunction> action, Executor executor)

После этого трио функций выполняет переданный в ResultFunction трио функций после успешного завершения этой операции. ResultFunction возвращает AsyncOperation<T>, а операция возврата из этого вызова возвращает AsyncOperation<T> в отличие от AsyncOperation<AsyncOperation<T>>

Параметры:

action - Функция, которая будет выполняться после завершения обеих операций
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenRun

public AsyncOperation thenRun(@NonNull Runnable action)

После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции.

Параметры:

action - Запуск, который будет выполнен после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenRunAsync

public AsyncOperation thenRunAsync(@NonNull Runnable action)

После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции.

Параметры:

action - Запуск, который будет выполнен после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

thenRunAsync

public AsyncOperation thenRunAsync(@NonNull Runnable action, @NonNull Executor executor)

После этого трио функций (thenRun(action), thenRunAsync(action), а затемRunAsync(action,Executor)) запускает переданный в Runnable при успешном выполнении этой операции.

Параметры:

action - Запуск, который будет выполнен после завершения этой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

whenComplete

public AsyncOperation whenComplete(@NonNull AsyncOperation.ResultBiConsumer action)

Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии

Параметры:

action - Функция, которая будет выполняться после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

whenCompleteAsync

public AsyncOperation whenCompleteAsync(@NonNull AsyncOperation.ResultBiConsumer action)

Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии

Параметры:

action - Функция, которая будет выполняться после завершения этой операции

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

whenCompleteAsync

public AsyncOperation whenCompleteAsync( @NonNull AsyncOperation.ResultBiConsumer action, @NonNull Executor executor)

Трио функций whenComplete (whenComplete(action), whenCompleteAsync(action) и whenCompleteAsync(action,Executor)) похожи на функции дескриптора. После успешного или исключительного завершения этой операции переданные действия будут выполнены, что позволяет наблюдать как результаты, так и исключения отступа. В отличие от дескриптора, результаты действия не распространяются на зависимые операции; они наблюдают за исключением этого этапа / результатом вместо переданного в действии

Параметры:

action - Функция, которая будет выполняться после завершения этой операции
executor - Исполнитель, с помощью которого выполняется функция

Возвращаемое значение:

Новая асинхронная операция, которая завершится на основе результата переданного в действии

Применяется к