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, basta criar uma action
normalmente como o exemplo anterior detalhou e implementar a interface AsyncAction
.
Com a action criada, basta vincular a interface AsyncAction
interface solicitará que o método execute e o parâmetro onFinish seja implementado.
struct CustomAction: AsyncAction {
var onFinish: [Action]?
func execute(controller: BeagleController, origin: UIView) {
}
}
Agora, com a action pronta para executar de forma assincrona, temos que OBRIGATORIAMENTE notificar quando sua execução está concluída execultando a ação onFinish
.
controller.execute(actions: self.onFinish, origin: origin)
Veja no exemplo da Custom Action Assíncrona.
struct CustomAction: AsyncAction {
var onFinish: [Action]?
func execute(controller: BeagleController, origin: UIView) {
print("Custom action foi chamada!")
controller.execute(actions: self.onFinish, origin: origin)
}
}
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.