Ação Customizada Assíncrona

Criando uma ação customizada assíncrona

Requisitos:

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 como no exemplo Ação Customizada 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 {
        @AutoCodable
        var onFinish: [Action]?

        func execute(controller: BeagleController, origin: UIView) {

        }
    }

Agora, com a action pronta para executar de forma assíncrona, temos que OBRIGATORIAMENTE notificar quando sua execução está concluída executando a ação onFinish.

controller.execute(actions: self.onFinish, origin: origin)

Veja o exemplo abaixo:

struct CustomAction: AsyncAction {
        @AutoCodable
        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 31/01/2022: feature: beagle orange (#837) (a117de55)