AsyncOperation<T> Clase
- java.
lang. Object - java.
util. concurrent. Future<T> - com.
microsoft. connecteddevices. AsyncOperation<T>
- com.
- java.
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> Async |
_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. |
Async |
_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. |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
allOf(@NonNull AsyncOperation<?>... operations)
Crea una operación que se completará cuando se completen todas las operaciones pasadas. |
Async |
anyOf(@NonNull AsyncOperation<?>... operations)
Crea una operación que se completará cuando se complete cualquiera de las operaciones pasadas. |
<U> Async |
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> Async |
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> Async |
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> Async |
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. |
Async |
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> Async |
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> Async |
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> Async |
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. |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
runAsync(@NonNull Runnable runnable)
Crea una operación que ejecutará el objeto que se pasa en Runnable en el ejecutor predeterminado. |
Async |
runAsync(@NonNull Runnable runnable, @NonNull Executor executor)
Crea una operación que ejecutará el pasado en Runnable en el ejecutor pasado. |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier)
Crea una operación que usará el ejecutor predeterminado para obtener un valor del proveedor. |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier, @NonNull Executor executor)
Crea una operación que usará el ejecutor pasado para obtener un valor del proveedor. |
Async |
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. |
Async |
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. |
Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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> Async |
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>> |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
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. |
Async |
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:
Devoluciones:
_whenCompleteAsyncInternal
protected AsyncOperation
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:
Devoluciones:
acceptEither
public AsyncOperation
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:
Devoluciones:
acceptEitherAsync
public AsyncOperation
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:
Devoluciones:
acceptEitherAsync
public AsyncOperation
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:
Devoluciones:
allOf
public static AsyncOperation
Crea una operación que se completará cuando se completen todas las operaciones pasadas.
Parámetros:
Devoluciones:
anyOf
public static AsyncOperation