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 15/02/2022: fix: Update/async actions (#840) (c4d57bd1)