AsyncOperation<T> Classe
- java.
lang. Object - java.
util. concurrent. Future<T> - com.
microsoft. connecteddevices. AsyncOperation<T>
- com.
- java.
Parâmetros de tipo
- T
public class AsyncOperation
Uma operação que tem um resultado futuro do tipo T ou uma possível exceção. Essa classe é uma versão ligeiramente simplificada da classe CompletableFuture do nível de API android 24
Implementa a interface Future padrão e também fornece funcionalidade básica de continuação. Consulte CompletableFuture para obter informações detalhadas sobre como usar essa classe.
As diferenças importantes entre CompletableFuture e AsyncOperation são as seguintes: 1. O executor assíncrono padrão de AsyncOperation é Executors.newCachedThreadPool(), enquanto CompletableFuture usa ForkJoinPool.commonPool(). 2. AsyncOperation não tem métodos obtrudeException e obtrudeValue.
Resumo do Construtor
Construtor | Description |
---|---|
AsyncOperation() |
Cria uma nova AsyncOperation |
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
<U> Async |
_handleAsyncInternal(AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, Executor executor)
O trio de identificadores de funções (handle(action), handleAsync(action) e handleAsync(action,Executor)) são as funções de continuação mais básicas sobre as quais as outras são criadas. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. |
Async |
_whenCompleteAsyncInternal(AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, Executor executor)
O trio whenComplete de funções (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) são semelhantes às funções de identificador. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. Ao contrário do identificador, os resultados da ação não se propagam para operações dependentes; eles observam a exceção deste estágio/resultam em vez do passado na ação |
Async |
acceptEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
O trio acceptEither de funções executa um ResultConsumer passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultConsumer<? super T> action)
O trio acceptEither de funções executa um ResultConsumer passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
acceptEitherAsync( @NonNull AsyncOperation<? extends T> other, AsyncOperation.ResultConsumer<? super T> action, @NonNull Executor executor)
O trio acceptEither de funções executa um ResultConsumer passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
allOf(@NonNull AsyncOperation<?>... operations)
Cria uma operação que será concluída quando todas as operações passadas forem concluídas. |
Async |
anyOf(@NonNull AsyncOperation<?>... operations)
Cria uma operação que será concluída quando qualquer uma das operações passadas for concluída. |
<U> Async |
applyToEither( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
O trio de funções applyToEither executa um resultado aprovado em ResultFunction quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U> Async |
applyToEitherAsync( @NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action)
O trio de funções applyToEither executa um resultado aprovado em ResultFunction quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U> Async |
applyToEitherAsync(@NonNull AsyncOperation<? extends T> other, @NonNull AsyncOperation.ResultFunction<? super T, U> action, @NonNull Executor executor)
O trio de funções applyToEither executa um resultado aprovado em ResultFunction quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
boolean |
cancel(boolean mayInterruptIfRunning)
Tenta cancelar o futuro e parar de esperar por um resultado. O cancelamento de uma AsyncOperation faz com que todos os threads que aguardam o futuro por meio de get() recebam imediatamente uma CancellationException. A execução da operação não é interrompida, mas qualquer resultado eventual de uma chamada cancelada será ignorado. |
final void |
complete(T value)
Conclui essa operação com um determinado valor. |
static<U> Async |
completedFuture(U value)
Cria uma operação que já está concluída com o valor fornecido |
final void |
completeExceptionally(@NonNull Throwable ex)
Define a exceção que será gerada quando o valor futuro for recuperado e marcará o futuro concluído. |
Async |
exceptionally(@NonNull AsyncOperation.ResultFunction<Throwable, ? extends T> action)
Permite que as continuações sejam anexadas que só são executadas no caso de uma conclusão excepcional dessa operação. Observe que não há variantes *assíncronas* de forma excepcional, portanto, a ação não deve ser executada por muito tempo, pois pode estar bloqueando o thread que concluiu essa operação ou o thread de chamada ( no caso de uma operação já concluída). |
T |
get()
Obtém o valor futuro, aguardando se necessário até que o futuro seja concluído. |
T |
get(long timeout, @NonNull TimeUnit unit)
Tenta obter o valor futuro, aguardando se necessário até que o futuro seja concluído ou até um tempo limite. |
final T |
getNow(T valueIfAbsent)
Obtém o valor da operação retornando imediatamente um valor passado se a operação ainda não estiver concluída. |
int |
getNumberOfDependents()
Obtém um número estimado de operações que dependem dessa operação. Isso não se destina a ser usado para fins de sincronização/agendamento. |
<U> Async |
handle(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
O trio de identificadores de funções (handle(action), handleAsync(action) e handleAsync(action,Executor)) são as funções de continuação mais básicas sobre as quais as outras são criadas. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. |
<U> Async |
handleAsync(@NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action)
O trio de identificadores de funções (handle(action), handleAsync(action) e handleAsync(action,Executor)) são as funções de continuação mais básicas sobre as quais as outras são criadas. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. |
<U> Async |
handleAsync( @NonNull AsyncOperation.ResultBiFunction<? super T, ? super Throwable, ? extends U> action, @NonNull Executor executor)
O trio de identificadores de funções (handle(action), handleAsync(action) e handleAsync(action,Executor)) são as funções de continuação mais básicas sobre as quais as outras são criadas. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. |
boolean |
isCancelled()
Verifica se o futuro foi cancelado com êxito. |
boolean |
isCompletedExceptionally()
Verifica se a operação foi concluída de forma excepcional (cancelamento ou completeExceptionally) |
boolean |
isDone()
Verifica se o futuro está concluído. O futuro é feito quando o resultado é definido ou uma exceção é definida. |
T |
join()
Obtém o valor futuro, aguardando se necessário até que o futuro seja concluído. Ao contrário de get() join gera uma CompletionException se alguma exceção ocorreu no processo de conclusão desta operação |
Async |
runAfterBoth(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
O trio de funções runAfterBoth executa um runnable passado quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
O trio de funções runAfterBoth executa um runnable passado quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
runAfterBothAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
O trio de funções runAfterBoth executa um runnable passado quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
runAfterEither(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
O trio de funções runAfterEither executa um runnable passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
runAfterEitherAsync(@NonNull AsyncOperation<?> other, @NonNull Runnable action)
O trio de funções runAfterEither executa um runnable passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
runAfterEitherAsync( @NonNull AsyncOperation<?> other, @NonNull Runnable action, @NonNull Executor executor)
O trio de funções runAfterEither executa um runnable passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente. |
Async |
runAsync(@NonNull Runnable runnable)
Cria uma operação que executará o runnable passado no executor padrão |
Async |
runAsync(@NonNull Runnable runnable, @NonNull Executor executor)
Cria uma operação que executará o runnable passado no executor passado |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier)
Cria uma operação que usará o executor padrão para obter um valor do fornecedor |
static<U> Async |
supplyAsync(@NonNull AsyncOperation.Supplier<U> supplier, @NonNull Executor executor)
Cria uma operação que usará o executor passado para obter um valor do fornecedor |
Async |
thenAccept(@NonNull ResultConsumer<? super T> action)
O trio de funções thenAccept (thenAccept(action), thenAcceptAsync(action) e thenAcceptAsync(action,Executor)) executa uma passagem em ResultConsumer quando essa operação é concluída com êxito. |
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action)
O trio de funções thenAccept (thenAccept(action), thenAcceptAsync(action) e thenAcceptAsync(action,Executor)) executa uma passagem em ResultConsumer quando essa operação é concluída com êxito. |
Async |
thenAcceptAsync(@NonNull ResultConsumer<? super T> action, @NonNull Executor executor)
O trio de funções thenAccept (thenAccept(action), thenAcceptAsync(action) e thenAcceptAsync(action,Executor)) executa uma passagem em ResultConsumer quando essa operação é concluída com êxito. |
<U> Async |
thenAcceptBoth( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
O trio de funções ThenAcceptBoth executa uma passagem em ResultConsumer quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U> Async |
thenAcceptBothAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action)
O trio de funções ThenAcceptBoth executa uma passagem em ResultConsumer quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U> Async |
thenAcceptBothAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super U> action, @NonNull Executor executor)
O trio de funções ThenAcceptBoth executa uma passagem em ResultConsumer quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U> Async |
thenApply(@NonNull ResultFunction<? super T, ? extends U> action)
O trio thenApply de funções (thenApplyAsync(action), thenApplyAsync(action) e thenApplyAsync(action,Executor)) executa uma passagem em ResultFunction quando essa operação é concluída com êxito. |
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action)
O trio thenApply de funções (thenApplyAsync(action), thenApplyAsync(action) e thenApplyAsync(action,Executor)) executa uma passagem em ResultFunction quando essa operação é concluída com êxito. |
<U> Async |
thenApplyAsync(@NonNull ResultFunction<? super T, ? extends U> action, @NonNull Executor executor)
O trio thenApply de funções (thenApplyAsync(action), thenApplyAsync(action) e thenApplyAsync(action,Executor)) executa uma passagem em ResultFunction quando essa operação é concluída com êxito. |
<U, V> Async |
thenCombine( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
O trio de funções ThenCombine executa um ResultadoFuncional passado quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U, V> Async |
thenCombineAsync( @NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action)
O trio de funções ThenCombine executa um ResultadoFuncional passado quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U, V> Async |
thenCombineAsync(@NonNull AsyncOperation<? extends U> other, @NonNull AsyncOperation.ResultBiFunction<? super T, ? super U, ? extends V> action, @NonNull Executor executor)
O trio de funções ThenCombine executa um ResultadoFuncional passado quando essa operação e a operação passada são concluídas com êxito. Se uma das operações for concluída excepcionalmente, a operação retornada também será concluída excepcionalmente. |
<U> Async |
thenCompose(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
O trio de funções thenCompose executa um resultado aprovado em ResultFunction quando essa operação é concluída com êxito. O ResultFunction retorna um< T>AsyncOperation e a operação de retorno dessa chamada retorna um< T>AsyncOperation em vez de um<AsyncOperation<T>> |
<U> Async |
thenComposeAsync(@NonNull AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action)
O trio de funções thenCompose executa um resultado aprovado em ResultFunction quando essa operação é concluída com êxito. O ResultFunction retorna um< T>AsyncOperation e a operação de retorno dessa chamada retorna um< T>AsyncOperation em vez de um<AsyncOperation<T>> |
<U> Async |
thenComposeAsync(AsyncOperation.ResultFunction<? super T, ? extends AsyncOperation<U>> action, Executor executor)
O trio de funções thenCompose executa um resultado aprovado em ResultFunction quando essa operação é concluída com êxito. O ResultFunction retorna um< T>AsyncOperation e a operação de retorno dessa chamada retorna um< T>AsyncOperation em vez de um<AsyncOperation<T>> |
Async |
thenRun(@NonNull Runnable action)
O trio de funções thenRun (thenRun(action), thenRunAsync(action) e, em seguida,RunAsync(action,Executor)) executa um runnable passado quando essa operação é concluída com êxito. |
Async |
thenRunAsync(@NonNull Runnable action)
O trio de funções thenRun (thenRun(action), thenRunAsync(action) e, em seguida,RunAsync(action,Executor)) executa um runnable passado quando essa operação é concluída com êxito. |
Async |
thenRunAsync(@NonNull Runnable action, @NonNull Executor executor)
O trio de funções thenRun (thenRun(action), thenRunAsync(action) e, em seguida,RunAsync(action,Executor)) executa um runnable passado quando essa operação é concluída com êxito. |
Async |
whenComplete(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
O trio whenComplete de funções (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) são semelhantes às funções de identificador. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. Ao contrário do identificador, os resultados da ação não se propagam para operações dependentes; eles observam a exceção deste estágio/resultam em vez do passado na ação |
Async |
whenCompleteAsync(@NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action)
O trio whenComplete de funções (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) são semelhantes às funções de identificador. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. Ao contrário do identificador, os resultados da ação não se propagam para operações dependentes; eles observam a exceção deste estágio/resultam em vez do passado na ação |
Async |
whenCompleteAsync( @NonNull AsyncOperation.ResultBiConsumer<? super T, ? super Throwable> action, @NonNull Executor executor)
O trio whenComplete de funções (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) são semelhantes às funções de identificador. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. Ao contrário do identificador, os resultados da ação não se propagam para operações dependentes; eles observam a exceção deste estágio/resultam em vez do passado na ação |
Detalhes do construtor
AsyncOperation
public AsyncOperation()
Cria uma nova AsyncOperation
Detalhes do método
_handleAsyncInternal
protected AsyncOperation _handleAsyncInternal(AsyncOperation.ResultBiFunction action, Executor executor)
O trio de identificadores de funções (handle(action), handleAsync(action) e handleAsync(action,Executor)) são as funções de continuação mais básicas sobre as quais as outras são criadas. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados.
Parâmetros:
Retornos:
_whenCompleteAsyncInternal
protected AsyncOperation
O trio whenComplete de funções (whenComplete(action), whenCompleteAsync(action) e whenCompleteAsync(action,Executor)) são semelhantes às funções de identificador. Após a conclusão bem-sucedida ou excepcional desta operação, a ação aprovada será executada permitindo que resultados anteriores e exceções anteriores sejam observados. Ao contrário do identificador, os resultados da ação não se propagam para operações dependentes; eles observam a exceção deste estágio/resultam em vez do passado na ação
Parâmetros:
Retornos:
acceptEither
public AsyncOperation
O trio acceptEither de funções executa um ResultConsumer passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente.
Parâmetros:
Retornos:
acceptEitherAsync
public AsyncOperation
O trio acceptEither de funções executa um ResultConsumer passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente.
Parâmetros:
Retornos:
acceptEitherAsync
public AsyncOperation
O trio acceptEither de funções executa um ResultConsumer passado quando essa operação ou a operação passada é concluída com êxito. Se a operação concluída o fizer excepcionalmente, a operação retornada também será concluída excepcionalmente.
Parâmetros:
Retornos:
allOf
public static AsyncOperation
Cria uma operação que será concluída quando todas as operações passadas forem concluídas.
Parâmetros:
Retornos:
anyOf
public static AsyncOperation