Tópicos abordados:
Requisitos:
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.
onActionStarted
e onActionFinished
expondo seu estado de forma reativa e padronizado no framework.@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!
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.