Ação Assíncrona

Criando uma ação customizada assíncrona.

Tópicos abordados:

  • Como criar uma Ação Assíncrona Customizada

Requisitos:

Como criar ações assíncronas

Para criar uma ação customizada no Beagle cuja execução seja assíncrona como o consumo de uma API ou acesso a um banco de dados, siga os passos abaixo: Passo 1: Criar uma action normalmente como no exemplo da seção Ações Customizadas Simples; Passo 2: Implementar a interface AsyncAction; Passo 3: Vincular a interface AsyncAction e delegar sua implementação para a classe AsyncActionImpl que o Beagle já fornece.

@RegisterAction("customActionAndroid")
data class CustomActionAndroid(
    val value: String
) : Action, AsyncAction by AsyncActionImpl() {
    override fun execute(rootView: RootView) {
        // Do asynchronous work
    }
}

Passo 4: Agora, com a action pronta para executar de forma assíncrona, você precisa OBRIGATORIAMENTE notificar quando sua execução está concluída através do método onActionFinished.

@RegisterAction("customActionAndroid")
data class CustomActionAndroid(
    val value: String
) : Action, AsyncAction by AsyncActionImpl() {
    override fun execute(rootView: RootView) {
        // Do asynchronous work
        onActionFinished()
    }
}

Pronto! Sua action agora está configurada para executar qualquer trabalho de forma assíncrona!


Última modificação 17/09/2021: Reviewed Android section (#773) (e4c75e98)