Compartir a través de


AsyncOperation<T> Clase

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

Parámetros de tipo

T

public class AsyncOperation

Operación que tiene un resultado futuro del tipo T o una posible excepción. Esta clase es una versión ligeramente simplificada de la clase CompletableFuture del nivel de API de Android 24.

Implementa la interfaz estándar Future y también proporciona funcionalidad de continuación básica. Consulte completableFuture para obtener información detallada sobre cómo usar esta clase.

Las diferencias importantes entre CompletableFuture y AsyncOperation son las siguientes: 1. El ejecutor asincrónico predeterminado de AsyncOperation es Executors.newCachedThreadPool(), mientras que CompletableFuture usa ForkJoinPool.commonPool(). 2. AsyncOperation carece de métodos obtrudeException y obtrudeValue.

Resumen del constructor

Constructor Description
AsyncOperation()

Crea una nueva instancia de AsyncOperation

Resumen del método

Modificador y tipo Método y descripción
<U> AsyncOperation<U> _handleAsyncInternal(AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, Executor executor)

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

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

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

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

El trío acceptEither de funciones ejecuta un elemento pasado en ResultConsumer cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

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

El trío acceptEither de funciones ejecuta un elemento pasado en ResultConsumer cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

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

El trío acceptEither de funciones ejecuta un elemento pasado en ResultConsumer cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

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

Crea una operación que se completará cuando se completen todas las operaciones pasadas.

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

Crea una operación que se completará cuando se complete cualquiera de las operaciones pasadas.

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

El trío applyToEither de funciones ejecuta un elemento ResultFunction pasado cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

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

El trío applyToEither de funciones ejecuta un elemento ResultFunction pasado cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

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

El trío applyToEither de funciones ejecuta un elemento ResultFunction pasado cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

boolean cancel(boolean mayInterruptIfRunning)

Intenta cancelar el futuro y dejar de esperar un resultado.

La cancelación de una instancia de AsyncOperation hace que los subprocesos que esperan el futuro a través de get() reciban inmediatamente una CancellationException. La ejecución de la operación no se interrumpe, pero se omitirá cualquier resultado final de una llamada cancelada.

final void complete(T value)

Completa este funcionamiento con un valor determinado.

static<U> AsyncOperation<U> completedFuture(U value)

Crea una operación que ya se ha completado con el valor especificado.

final void completeExceptionally(@NonNull Throwable ex)

Establece la excepción que se producirá cuando se recupere el valor futuro y marque el futuro terminado.

AsyncOperation<T> exceptionally(@NonNull AsyncOperation.ResultFunction<Throwable, ? extends T> action)

Permite adjuntar continuaciones que solo se ejecutan en el caso de una finalización excepcional de esta operación. Tenga en cuenta que no hay ninguna variante *asincrónica* de excepcionalmente, por lo que la acción no debe ejecutarse durante mucho tiempo, ya que puede estar bloqueando el subproceso que completó esta operación o el subproceso que realiza la llamada ( en el caso de una operación ya completada).

T get()

Obtiene el valor futuro, esperando si es necesario hasta que finalice el futuro.

T get(long timeout, @NonNull TimeUnit unit)

Intenta obtener el valor futuro, esperando si es necesario hasta que se realice el futuro o hasta que se haya agotado el tiempo de espera.

final T getNow(T valueIfAbsent)

Obtiene el valor de la operación que devuelve inmediatamente un valor pasado si la operación aún no se ha completado.

int getNumberOfDependents()

Obtiene un número estimado de operaciones que dependen de esta operación. Esto no está pensado para usarse con fines de sincronización o programación.

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

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

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

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

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

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

boolean isCancelled()

Comprueba si el futuro se ha cancelado correctamente.

boolean isCompletedExceptionally()

Comprueba si la operación se completó de forma excepcional (cancelación o completaExceptionalmente)

boolean isDone()

Comprueba si se realiza el futuro. El futuro se realiza cuando se establece el resultado o se establece una excepción.

T join()

Obtiene el valor futuro, esperando si es necesario hasta que finalice el futuro. A diferencia de get() join produce una excepción CompletionException si se produjo alguna excepción en el proceso de completar esta operación.

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

El trío runAfterBoth de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío runAfterBoth de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío runAfterBoth de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío runAfterEither de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

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

El trío runAfterEither de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

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

El trío runAfterEither de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

AsyncOperation<Void> runAsync(@NonNull Runnable runnable)

Crea una operación que ejecutará el objeto que se pasa en Runnable en el ejecutor predeterminado.

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

Crea una operación que ejecutará el pasado en Runnable en el ejecutor pasado.

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

Crea una operación que usará el ejecutor predeterminado para obtener un valor del proveedor.

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

Crea una operación que usará el ejecutor pasado para obtener un valor del proveedor.

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

El trío thenAccept de funciones (thenAccept(action), thenAcceptAsync(action) y thenAcceptAsync(action,Executor)) ejecutan un pasado en ResultConsumer cuando esta operación se completa correctamente.

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

El trío thenAccept de funciones (thenAccept(action), thenAcceptAsync(action) y thenAcceptAsync(action,Executor)) ejecutan un pasado en ResultConsumer cuando esta operación se completa correctamente.

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

El trío thenAccept de funciones (thenAccept(action), thenAcceptAsync(action) y thenAcceptAsync(action,Executor)) ejecutan un pasado en ResultConsumer cuando esta operación se completa correctamente.

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

El trío thenAcceptBoth de funciones ejecuta un pasado en ResultConsumer cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío thenAcceptBoth de funciones ejecuta un pasado en ResultConsumer cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío thenAcceptBoth de funciones ejecuta un pasado en ResultConsumer cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío thenApply de funciones (thenApplyAsync(action), thenApplyAsync(action) y, a continuación,ApplyAsync(action,Executor)) ejecutan un elemento resultFunction pasado cuando esta operación se completa correctamente.

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

El trío thenApply de funciones (thenApplyAsync(action), thenApplyAsync(action) y, a continuación,ApplyAsync(action,Executor)) ejecutan un elemento resultFunction pasado cuando esta operación se completa correctamente.

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

El trío thenApply de funciones (thenApplyAsync(action), thenApplyAsync(action) y, a continuación,ApplyAsync(action,Executor)) ejecutan un elemento resultFunction pasado cuando esta operación se completa correctamente.

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

El trío thenCombine de funciones ejecuta un elemento ResultFunction pasado cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío thenCombine de funciones ejecuta un elemento ResultFunction pasado cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío thenCombine de funciones ejecuta un elemento ResultFunction pasado cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

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

El trío thenCompose de funciones ejecuta un elemento ResultFunction pasado cuando esta operación se completa correctamente. ResultFunction devuelve un< AsyncOperation>T y la operación de devolución de esta llamada devuelve un< AsyncOperation>T en lugar de AsyncOperation<AsyncOperation<T>>

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

El trío thenCompose de funciones ejecuta un elemento ResultFunction pasado cuando esta operación se completa correctamente. ResultFunction devuelve un< AsyncOperation>T y la operación de devolución de esta llamada devuelve un< AsyncOperation>T en lugar de AsyncOperation<AsyncOperation<T>>

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

El trío thenCompose de funciones ejecuta un elemento ResultFunction pasado cuando esta operación se completa correctamente. ResultFunction devuelve un< AsyncOperation>T y la operación de devolución de esta llamada devuelve un< AsyncOperation>T en lugar de AsyncOperation<AsyncOperation<T>>

AsyncOperation<Void> thenRun(@NonNull Runnable action)

El trío thenRun de funciones (thenRun(action), thenRunAsync(action) y thenRunAsync(action,Executor)) ejecuta un paso en Runnable cuando esta operación se completa correctamente.

AsyncOperation<Void> thenRunAsync(@NonNull Runnable action)

El trío thenRun de funciones (thenRun(action), thenRunAsync(action) y thenRunAsync(action,Executor)) ejecuta un paso en Runnable cuando esta operación se completa correctamente.

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

El trío thenRun de funciones (thenRun(action), thenRunAsync(action) y thenRunAsync(action,Executor)) ejecuta un paso en Runnable cuando esta operación se completa correctamente.

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

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

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

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

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

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

Detalles del constructor

AsyncOperation

public AsyncOperation()

Crea una nueva instancia de AsyncOperation

Detalles del método

_handleAsyncInternal

protected AsyncOperation _handleAsyncInternal(AsyncOperation.ResultBiFunction action, Executor executor)

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

_whenCompleteAsyncInternal

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

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

acceptEither

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

El trío acceptEither de funciones ejecuta un elemento pasado en ResultConsumer cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - ResultConsumer que se ejecutará tras la finalización de cualquiera de las operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

acceptEitherAsync

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

El trío acceptEither de funciones ejecuta un elemento pasado en ResultConsumer cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - ResultConsumer que se ejecutará tras la finalización de cualquiera de las operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

acceptEitherAsync

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

El trío acceptEither de funciones ejecuta un elemento pasado en ResultConsumer cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - ResultConsumer que se ejecutará tras la finalización de cualquiera de las operaciones
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

allOf

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

Crea una operación que se completará cuando se completen todas las operaciones pasadas.

Parámetros:

operations - lista de operaciones a "AND" juntas

Devoluciones:

Nueva operación asincrónica que se completará cuando se completen todas las operaciones

anyOf

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

Crea una operación que se completará cuando se complete cualquiera de las operaciones pasadas.

Parámetros:

operations - lista de operaciones a "OR" juntas

Devoluciones:

Una nueva operación asincrónica que se completará cuando se complete cualquier operación

applyToEither

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

El trío applyToEither de funciones ejecuta un elemento ResultFunction pasado cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - ResultFunction que se ejecutará tras la finalización de cualquiera de las operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

applyToEitherAsync

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

El trío applyToEither de funciones ejecuta un elemento ResultFunction pasado cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - ResultFunction que se ejecutará tras la finalización de cualquiera de las operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

applyToEitherAsync

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

El trío applyToEither de funciones ejecuta un elemento ResultFunction pasado cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - ResultFunction que se ejecutará tras la finalización de cualquiera de las operaciones
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

cancel

public boolean cancel(boolean mayInterruptIfRunning)

Intenta cancelar el futuro y dejar de esperar un resultado.

La cancelación de una instancia de AsyncOperation hace que los subprocesos que esperan el futuro a través de get() reciban inmediatamente una CancellationException. La ejecución de la operación no se interrumpe, pero se omitirá cualquier resultado final de una llamada cancelada.

Parámetros:

mayInterruptIfRunning - se omite porque las operaciones no se pueden interrumpir.

Devoluciones:

true si el futuro se canceló antes de que se completara; false si no se pudo cancelar el futuro porque ya se completó.

complete

public final void complete(T value)

Completa este funcionamiento con un valor determinado.

Parámetros:

value - Resultado de la operación, o null para un resultado correcto pero vacío.

completedFuture

public static static AsyncOperation completedFuture(U value)

Crea una operación que ya se ha completado con el valor especificado.

Parámetros:

value - valor con el que se va a completar la operación

Devoluciones:

Nueva operación asincrónica que ya se ha completado

completeExceptionally

public final void completeExceptionally(@NonNull Throwable ex)

Establece la excepción que se producirá cuando se recupere el valor futuro y marque el futuro terminado.

Parámetros:

ex - Se puede producir con el que se va a completar la operación.

exceptionally

public AsyncOperation exceptionally(@NonNull AsyncOperation.ResultFunction action)

Permite adjuntar continuaciones que solo se ejecutan en el caso de una finalización excepcional de esta operación. Tenga en cuenta que no hay ninguna variante *asincrónica* de excepcionalmente, por lo que la acción no debe ejecutarse durante mucho tiempo, ya que puede estar bloqueando el subproceso que completó esta operación o el subproceso que realiza la llamada ( en el caso de una operación ya completada).

Parámetros:

action - la acción que se va a realizar cuando la operación se completa de forma excepcional.

get

public T get()

Obtiene el valor futuro, esperando si es necesario hasta que finalice el futuro.

Devoluciones:

Resultado de la operación, o null para un resultado correcto pero vacío.

get

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

Intenta obtener el valor futuro, esperando si es necesario hasta que se realice el futuro o hasta que se haya agotado el tiempo de espera.

Parámetros:

timeout
unit

Devoluciones:

Resultado, o null para un resultado correcto pero vacío.

getNow

public final T getNow(T valueIfAbsent)

Obtiene el valor de la operación que devuelve inmediatamente un valor pasado si la operación aún no se ha completado.

Parámetros:

valueIfAbsent - valor predeterminado que se va a devolver si la operación no se ha completado

Devoluciones:

El resultado de la operación, null para un resultado correcto pero vacío, o el valor pasado si la operación aún no se ha completado.

getNumberOfDependents

public int getNumberOfDependents()

Obtiene un número estimado de operaciones que dependen de esta operación. Esto no está pensado para usarse con fines de sincronización o programación.

Devoluciones:

número de operaciones que están esperando a que se complete esta operación.

handle

public AsyncOperation handle(@NonNull AsyncOperation.ResultBiFunction action)

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

handleAsync

public AsyncOperation handleAsync(@NonNull AsyncOperation.ResultBiFunction action)

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

handleAsync

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

El trío de controladores de funciones (handle(action), handleAsync(action) y handleAsync(action,Executor)) son las funciones de continuación más básicas en las que se compilan los demás. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

isCancelled

public boolean isCancelled()

Comprueba si el futuro se ha cancelado correctamente.

Devoluciones:

si se cancela la operación

isCompletedExceptionally

public boolean isCompletedExceptionally()

Comprueba si la operación se completó de forma excepcional (cancelación o completaExceptionalmente)

Devoluciones:

si la operación se completa de forma excepcional (cancelación o explícitamente)

isDone

public boolean isDone()

Comprueba si se realiza el futuro. El futuro se realiza cuando se establece el resultado o se establece una excepción.

Devoluciones:

si se realiza la operación

join

public T join()

Obtiene el valor futuro, esperando si es necesario hasta que finalice el futuro. A diferencia de get() join produce una excepción CompletionException si se produjo alguna excepción en el proceso de completar esta operación.

Devoluciones:

Resultado de la operación, o null para un resultado correcto pero vacío.

runAfterBoth

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

El trío runAfterBoth de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - Ejecutable que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

runAfterBothAsync

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

El trío runAfterBoth de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - Ejecutable que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

runAfterBothAsync

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

El trío runAfterBoth de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - Ejecutable que se ejecutará tras la finalización de ambas operaciones
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

runAfterEither

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

El trío runAfterEither de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - Se puede ejecutar que se ejecutará tras la finalización de cualquiera de las operaciones.

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

runAfterEitherAsync

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

El trío runAfterEither de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - Se puede ejecutar que se ejecutará tras la finalización de cualquiera de las operaciones.

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

runAfterEitherAsync

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

El trío runAfterEither de funciones ejecuta una ejecución que se pasa en Runnable cuando esta operación o la operación pasada se completa correctamente. Si la operación que se completa lo hace de forma excepcional, la operación devuelta también se completa excepcionalmente.

Parámetros:

other - la otra operación a "OR" juntas
action - Se puede ejecutar que se ejecutará tras la finalización de cualquiera de las operaciones.
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

runAsync

public static AsyncOperation runAsync(@NonNull Runnable runnable)

Crea una operación que ejecutará el objeto que se pasa en Runnable en el ejecutor predeterminado.

Parámetros:

runnable - acción que se va a ejecutar

Devoluciones:

Una nueva operación asincrónica que se completará cuando se complete la ejecución

runAsync

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

Crea una operación que ejecutará el pasado en Runnable en el ejecutor pasado.

Parámetros:

runnable - acción que se va a ejecutar
executor - ejecutor en el que se va a ejecutar la acción

Devoluciones:

Una nueva operación asincrónica que se completará cuando se complete la ejecución

supplyAsync

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

Crea una operación que usará el ejecutor predeterminado para obtener un valor del proveedor.

Parámetros:

supplier - proveedor desde el que se va a obtener un valor para completar esta operación

Devoluciones:

Nueva operación asincrónica que se completará con un valor del proveedor

supplyAsync

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

Crea una operación que usará el ejecutor pasado para obtener un valor del proveedor.

Parámetros:

supplier - proveedor desde el que se va a obtener un valor para completar esta operación
executor - ejecutor en el que se va a ejecutar la acción

Devoluciones:

Nueva operación asincrónica que se completará con un valor del proveedor

thenAccept

public AsyncOperation thenAccept(@NonNull ResultConsumer action)

El trío thenAccept de funciones (thenAccept(action), thenAcceptAsync(action) y thenAcceptAsync(action,Executor)) ejecutan un pasado en ResultConsumer cuando esta operación se completa correctamente.

Parámetros:

action - ResultConsumer que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenAcceptAsync

public AsyncOperation thenAcceptAsync(@NonNull ResultConsumer action)

El trío thenAccept de funciones (thenAccept(action), thenAcceptAsync(action) y thenAcceptAsync(action,Executor)) ejecutan un pasado en ResultConsumer cuando esta operación se completa correctamente.

Parámetros:

action - ResultConsumer que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenAcceptAsync

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

El trío thenAccept de funciones (thenAccept(action), thenAcceptAsync(action) y thenAcceptAsync(action,Executor)) ejecutan un pasado en ResultConsumer cuando esta operación se completa correctamente.

Parámetros:

action - ResultConsumer que se ejecutará tras la finalización de esta operación
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenAcceptBoth

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

El trío thenAcceptBoth de funciones ejecuta un pasado en ResultConsumer cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - ResultConsumer que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenAcceptBothAsync

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

El trío thenAcceptBoth de funciones ejecuta un pasado en ResultConsumer cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - ResultConsumer que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenAcceptBothAsync

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

El trío thenAcceptBoth de funciones ejecuta un pasado en ResultConsumer cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - ResultConsumer que se ejecutará tras la finalización de ambas operaciones
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenApply

public AsyncOperation thenApply(@NonNull ResultFunction action)

El trío thenApply de funciones (thenApplyAsync(action), thenApplyAsync(action) y, a continuación,ApplyAsync(action,Executor)) ejecutan un elemento resultFunction pasado cuando esta operación se completa correctamente.

Parámetros:

action - ResultFunction que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenApplyAsync

public AsyncOperation thenApplyAsync(@NonNull ResultFunction action)

El trío thenApply de funciones (thenApplyAsync(action), thenApplyAsync(action) y, a continuación,ApplyAsync(action,Executor)) ejecutan un elemento resultFunction pasado cuando esta operación se completa correctamente.

Parámetros:

action - ResultFunction que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenApplyAsync

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

El trío thenApply de funciones (thenApplyAsync(action), thenApplyAsync(action) y, a continuación,ApplyAsync(action,Executor)) ejecutan un elemento resultFunction pasado cuando esta operación se completa correctamente.

Parámetros:

action - ResultFunction que se ejecutará tras la finalización de esta operación
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenCombine

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

El trío thenCombine de funciones ejecuta un elemento ResultFunction pasado cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - ResultFunction que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenCombineAsync

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

El trío thenCombine de funciones ejecuta un elemento ResultFunction pasado cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - ResultFunction que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenCombineAsync

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

El trío thenCombine de funciones ejecuta un elemento ResultFunction pasado cuando esta operación y la operación pasada se completa correctamente. Si alguna operación se completa excepcionalmente, la operación devuelta también se completa de forma excepcional.

Parámetros:

other - la otra operación para "AND" juntas
action - ResultFunction que se ejecutará tras la finalización de ambas operaciones
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenCompose

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

El trío thenCompose de funciones ejecuta un elemento ResultFunction pasado cuando esta operación se completa correctamente. ResultFunction devuelve un< AsyncOperation>T y la operación de devolución de esta llamada devuelve un< AsyncOperation>T en lugar de AsyncOperation<AsyncOperation<T>>

Parámetros:

action - Función que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenComposeAsync

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

El trío thenCompose de funciones ejecuta un elemento ResultFunction pasado cuando esta operación se completa correctamente. ResultFunction devuelve un< AsyncOperation>T y la operación de devolución de esta llamada devuelve un< AsyncOperation>T en lugar de AsyncOperation<AsyncOperation<T>>

Parámetros:

action - Función que se ejecutará tras la finalización de ambas operaciones

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenComposeAsync

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

El trío thenCompose de funciones ejecuta un elemento ResultFunction pasado cuando esta operación se completa correctamente. ResultFunction devuelve un< AsyncOperation>T y la operación de devolución de esta llamada devuelve un< AsyncOperation>T en lugar de AsyncOperation<AsyncOperation<T>>

Parámetros:

action - Función que se ejecutará tras la finalización de ambas operaciones
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenRun

public AsyncOperation thenRun(@NonNull Runnable action)

El trío thenRun de funciones (thenRun(action), thenRunAsync(action) y thenRunAsync(action,Executor)) ejecuta un paso en Runnable cuando esta operación se completa correctamente.

Parámetros:

action - Se puede ejecutar que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenRunAsync

public AsyncOperation thenRunAsync(@NonNull Runnable action)

El trío thenRun de funciones (thenRun(action), thenRunAsync(action) y thenRunAsync(action,Executor)) ejecuta un paso en Runnable cuando esta operación se completa correctamente.

Parámetros:

action - Se puede ejecutar que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

thenRunAsync

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

El trío thenRun de funciones (thenRun(action), thenRunAsync(action) y thenRunAsync(action,Executor)) ejecuta un paso en Runnable cuando esta operación se completa correctamente.

Parámetros:

action - Se puede ejecutar que se ejecutará tras la finalización de esta operación
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

whenComplete

public AsyncOperation whenComplete(@NonNull AsyncOperation.ResultBiConsumer action)

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

whenCompleteAsync

public AsyncOperation whenCompleteAsync(@NonNull AsyncOperation.ResultBiConsumer action)

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

whenCompleteAsync

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

El trío whenComplete de funciones (whenComplete(action), whenCompleteAsync(action) y whenCompleteAsync(action,Executor)) son similares a las funciones de identificador. Tras la finalización correcta o excepcional de esta operación, se ejecutará la acción pasada, lo que permitirá observar tanto los resultados anteriores como las excepciones anteriores. A diferencia de handle, los resultados de la acción no se propagan a las operaciones dependientes; observan la excepción o el resultado de esta fase en lugar de las pasadas en la acción.

Parámetros:

action - Función que se ejecutará tras la finalización de esta operación
executor - Ejecutor con el que ejecutar la función

Devoluciones:

Una nueva operación asincrónica que se completará en función del resultado de la acción pasada

Se aplica a