AsyncOperation<T> Classe
- java.
lang. Object - java.
util. concurrent. Future<T> - com.
microsoft. connecteddevices. AsyncOperation<T>
- com.
- java.
Parametri di tipo
- T
public class AsyncOperation
Operazione con un risultato futuro di tipo T o di una possibile eccezione. Questa classe è una versione leggermente semplificata della classe api Android livello 24 CompletableFuture
Implementa l'interfaccia standard Future e fornisce anche funzionalità di continuazione di base. Per informazioni dettagliate su come usare questa classe, vedere CompletableFuture.
Le differenze importanti tra CompletableFuture e AsyncOperation sono le seguenti: 1. L'executor asincrono predefinito di AsyncOperation è Executors.newCachedThreadPool() mentre CompletableFuture usa ForkJoinPool.commonPool(). 2. AsyncOperation non dispone di metodi obtrudeException e obtrudeValue.
Riepilogo dei costruttori
Costruttore | Descrizione |
---|---|
AsyncOperation() |
Crea una nuova AsyncOperation |
Riepilogo dei metodi
Modificatore e tipo | Metodo e descrizione |
---|---|
<U> Async |
_handleAsyncInternal(AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, Executor executor)
Il trio di handle di funzioni (handle(action), handleAsync(action) e handleAsync(action,Executor)) sono le funzioni di continuazione più di base su cui vengono compilate le altre. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. |
Async |
_whenCompleteAsyncInternal(AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, Executor executor)
Il trio whenComplete di funzioni (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) è simile alle funzioni handle. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. A differenza di handle, i risultati dell'azione non si propagano alle operazioni dipendenti; osservano l'eccezione o il risultato di questa fase anziché l'azione passata |
Async |
acceptEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
Il trio acceptEither di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
Il trio acceptEither di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, AsyncOperation.ResultConsumer<? super T> action, @NonNull Executor executor)
Il trio acceptEither di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
allOf(@NonNull AsyncOperation<?>... operations)
Crea un'operazione che verrà completata al termine di tutte le operazioni passate. |
Async |
anyOf(@NonNull AsyncOperation<?>... operations)
Crea un'operazione che verrà completata al termine di una delle operazioni passate. |
<U> Async |
applyToEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
Il trio applyToEither di funzioni esegue un oggetto passato in ResultFunction quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U> Async |
applyToEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
Il trio applyToEither di funzioni esegue un oggetto passato in ResultFunction quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U> Async |
applyToEitherAsync(@NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action, @NonNull Executor executor)
Il trio applyToEither di funzioni esegue un oggetto passato in ResultFunction quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
boolean |
cancel(boolean mayInterruptIfRunning)
Tenta di annullare il futuro e interrompere l'attesa di un risultato. L'annullamento di un oggetto AsyncOperation fa sì che tutti i thread in attesa del futuro tramite get() ricevano immediatamente un'eccezione CancellationException. L'esecuzione dell'operazione non viene interrotta, ma qualsiasi risultato finale da una chiamata annullata verrà ignorato. |
final void |
complete(T value)
Completa questa operazione con un valore specificato. |
static<U> Async |
completedFuture(U value)
Crea un'operazione già completata con il valore specificato |
final void |
completeExceptionally(@NonNull Throwable ex)
Imposta l'eccezione che verrà generata quando viene recuperato il valore futuro e contrassegna il futuro. |
Async |
exceptionally(@NonNull AsyncOperation.ResultFunction<Throwable, ? extends T> action)
Consente di collegare le continuazioni che vengono eseguite solo nel caso di un completamento eccezionale di questa operazione. Si noti che non esistono varianti *asincrone* di eccezionale, pertanto l'azione non deve essere a lungo in quanto potrebbe bloccare il thread che ha completato questa operazione o il thread chiamante ( nel caso di un'operazione già completata). |
T |
get()
Ottiene il valore futuro, in attesa, se necessario, fino al completamento del futuro. |
T |
get(long timeout, @NonNull TimeUnit unit)
Tenta di ottenere il valore futuro, in attesa, se necessario, fino a quando il futuro non viene eseguito o fino a un timeout. |
final T |
getNow(T valueIfAbsent)
Ottiene il valore dell'operazione che restituisce immediatamente un valore passato se l'operazione non è ancora stata completata. |
int |
getNumberOfDependents()
Ottiene un numero stimato di operazioni che dipendono da questa operazione. Questo non è progettato per essere usato a scopo di sincronizzazione/pianificazione. |
<U> Async |
handle(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
Il trio di handle di funzioni (handle(action), handleAsync(action) e handleAsync(action,Executor)) sono le funzioni di continuazione più di base su cui vengono compilate le altre. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. |
<U> Async |
handleAsync(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
Il trio di handle di funzioni (handle(action), handleAsync(action) e handleAsync(action,Executor)) sono le funzioni di continuazione più di base su cui vengono compilate le altre. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. |
<U> Async |
handleAsync( @NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, @NonNull Executor executor)
Il trio di handle di funzioni (handle(action), handleAsync(action) e handleAsync(action,Executor)) sono le funzioni di continuazione più di base su cui vengono compilate le altre. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. |
boolean |
isCancelled()
Controlla se il futuro è stato annullato correttamente. |
boolean |
isCompletedExceptionally()
Controlla se l'operazione è stata completata in modo eccezionale (annullamento o completeExceptionally) |
boolean |
isDone()
Controlla se il futuro viene eseguito. Il futuro viene eseguito quando il risultato viene impostato o viene impostata un'eccezione. |
T |
join()
Ottiene il valore futuro, in attesa, se necessario, fino al completamento del futuro. A differenza di get() join genera un'eccezione CompletionException se si è verificata un'eccezione durante il processo di completamento di questa operazione |
Async |
runAfterBoth(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Il trio runAfterBoth delle funzioni esegue un oggetto passato in Runnable quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Il trio runAfterBoth delle funzioni esegue un oggetto passato in Runnable quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
Il trio runAfterBoth delle funzioni esegue un oggetto passato in Runnable quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
runAfterEither(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Il trio runAfterEither di funzioni esegue un oggetto passato in Runnable quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
runAfterEitherAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
Il trio runAfterEither di funzioni esegue un oggetto passato in Runnable quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
runAfterEitherAsync( @NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
Il trio runAfterEither di funzioni esegue un oggetto passato in Runnable quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
Async |
runAsync(@NonNull Runnable runnable)
Crea un'operazione che eseguirà l'oggetto passato in Runnable nell'executor predefinito |
Async |
runAsync(@NonNull Runnable runnable, @NonNull Executor executor)
Crea un'operazione che eseguirà l'oggetto passato in Runnable nell'executor passato |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier)
Crea un'operazione che userà l'executor predefinito per ottenere un valore dal fornitore |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier, @NonNull Executor executor)
Crea un'operazione che userà l'executor passato per ottenere un valore dal fornitore |
Async |
thenAccept(@NonNull ResultConsumer<? super T> action)
Il trio thenAccept di funzioni (thenAccept(action), quindiAcceptAsync(action) e quindiAcceptAsync(action,Executor)) esegue un passato in ResultConsumer al termine dell'operazione. |
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action)
Il trio thenAccept di funzioni (thenAccept(action), quindiAcceptAsync(action) e quindiAcceptAsync(action,Executor)) esegue un passato in ResultConsumer al termine dell'operazione. |
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action, @NonNull Executor executor)
Il trio thenAccept di funzioni (thenAccept(action), quindiAcceptAsync(action) e quindiAcceptAsync(action,Executor)) esegue un passato in ResultConsumer al termine dell'operazione. |
<U> Async |
thenAcceptBoth( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
Il trio thenAcceptBoth di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U> Async |
thenAcceptBothAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
Il trio thenAcceptBoth di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U> Async |
thenAcceptBothAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action, @NonNull Executor executor)
Il trio thenAcceptBoth di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U> Async |
thenApply(@NonNull ResultFunction<? super T, ? extends U> action)
Il trio thenApply di funzioni (thenApplyAsync(action), quindiApplyAsync(action) e quindiApplyAsync(action,Executor)) esegue un elemento passato in ResultFunction al termine dell'operazione. |
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action)
Il trio thenApply di funzioni (thenApplyAsync(action), quindiApplyAsync(action) e quindiApplyAsync(action,Executor)) esegue un elemento passato in ResultFunction al termine dell'operazione. |
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action, @NonNull Executor executor)
Il trio thenApply di funzioni (thenApplyAsync(action), quindiApplyAsync(action) e quindiApplyAsync(action,Executor)) esegue un elemento passato in ResultFunction al termine dell'operazione. |
<U, V> Async |
thenCombine( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
Il trio thenCombine di funzioni esegue un oggetto passato in ResultFunction quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U, V> Async |
thenCombineAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
Il trio thenCombine di funzioni esegue un oggetto passato in ResultFunction quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U, V> Async |
thenCombineAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action, @NonNull Executor executor)
Il trio thenCombine di funzioni esegue un oggetto passato in ResultFunction quando questa operazione e l'operazione passata viene completata correttamente. Se una delle due operazioni viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale. |
<U> Async |
thenCompose(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
Il trio di funzioni thenCompose esegue un valore passato in ResultFunction al termine dell'operazione. ResultFunction restituisce un< AsyncOperation>T e l'operazione restituita da questa chiamata restituisce un< AsyncOperation>T anziché AsyncOperation<AsyncOperation<T>> |
<U> Async |
thenComposeAsync(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
Il trio di funzioni thenCompose esegue un valore passato in ResultFunction al termine dell'operazione. ResultFunction restituisce un< AsyncOperation>T e l'operazione restituita da questa chiamata restituisce un< AsyncOperation>T anziché AsyncOperation<AsyncOperation<T>> |
<U> Async |
thenComposeAsync(AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action, Executor executor)
Il trio di funzioni thenCompose esegue un valore passato in ResultFunction al termine dell'operazione. ResultFunction restituisce un< AsyncOperation>T e l'operazione restituita da questa chiamata restituisce un< AsyncOperation>T anziché AsyncOperation<AsyncOperation<T>> |
Async |
thenRun(@NonNull Runnable action)
Il trio di funzioni thenRun (thenRun(action), thenRunAsync(action) e quindiRunAsync(action,Executor)) esegue un passato in Runnable al termine dell'operazione. |
Async |
thenRunAsync(@NonNull Runnable action)
Il trio di funzioni thenRun (thenRun(action), thenRunAsync(action) e quindiRunAsync(action,Executor)) esegue un passato in Runnable al termine dell'operazione. |
Async |
thenRunAsync(@NonNull Runnable action, @NonNull Executor executor)
Il trio di funzioni thenRun (thenRun(action), thenRunAsync(action) e quindiRunAsync(action,Executor)) esegue un passato in Runnable al termine dell'operazione. |
Async |
whenComplete(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
Il trio whenComplete di funzioni (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) è simile alle funzioni handle. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. A differenza di handle, i risultati dell'azione non si propagano alle operazioni dipendenti; osservano l'eccezione o il risultato di questa fase anziché l'azione passata |
Async |
whenCompleteAsync(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
Il trio whenComplete di funzioni (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) è simile alle funzioni handle. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. A differenza di handle, i risultati dell'azione non si propagano alle operazioni dipendenti; osservano l'eccezione o il risultato di questa fase anziché l'azione passata |
Async |
whenCompleteAsync( @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, @NonNull Executor executor)
Il trio whenComplete di funzioni (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) è simile alle funzioni handle. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. A differenza di handle, i risultati dell'azione non si propagano alle operazioni dipendenti; osservano l'eccezione o il risultato di questa fase anziché l'azione passata |
Dettagli costruttore
AsyncOperation
public AsyncOperation()
Crea una nuova AsyncOperation
Dettagli metodo
_handleAsyncInternal
protected AsyncOperation _handleAsyncInternal(AsyncOperation.ResultBiFunction action, Executor executor)
Il trio di handle di funzioni (handle(action), handleAsync(action) e handleAsync(action,Executor)) sono le funzioni di continuazione più di base su cui vengono compilate le altre. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti.
Parametri:
Restituisce:
_whenCompleteAsyncInternal
protected AsyncOperation
Il trio whenComplete di funzioni (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) è simile alle funzioni handle. Al completamento positivo o eccezionale di questa operazione, l'azione passata verrà eseguita consentendo di osservare sia i risultati precedenti che le eccezioni precedenti. A differenza di handle, i risultati dell'azione non si propagano alle operazioni dipendenti; osservano l'eccezione o il risultato di questa fase anziché l'azione passata
Parametri:
Restituisce:
acceptEither
public AsyncOperation
Il trio acceptEither di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale.
Parametri:
Restituisce:
acceptEitherAsync
public AsyncOperation
Il trio acceptEither di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale.
Parametri:
Restituisce:
acceptEitherAsync
public AsyncOperation
Il trio acceptEither di funzioni esegue un oggetto passato in ResultConsumer quando questa operazione o l'operazione passata viene completata correttamente. Se l'operazione che viene completata in modo eccezionale, l'operazione restituita viene completata in modo eccezionale.
Parametri:
Restituisce:
allOf
public static AsyncOperation
Crea un'operazione che verrà completata al termine di tutte le operazioni passate.
Parametri:
Restituisce:
anyOf
public static AsyncOperation