Ação Customizada Assíncrona

Criando uma ação customizada assíncrona

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!


Última modificação 11/02/2021: create content (#298) (43225e15)