⭕️ Async Data Actions

Diógenes Dauster
4 min readMar 21, 2024

--

👋 Oi seus lindos, eu aqui novamente, para trazer um pequena dica. Mas antes disso, deixa eu citar um dos grandes filósofos : Só sei que nada sei (Socrates). Essa frase faz total sentido quando falamos de tecnologia, pois temos muitas coisas que não sabemos apesar delas serem: simples e obvias. E é por isso que eu amo filosofia, ela trás essa reflexão que apesar de sermos seniors, plenos, juniors ou especialistas ainda não sabemos tudo, o que nos trás a perspectiva de sermos humildes, pois somos todos meros aprendizes.

Sem mais delongas, em um certo dia , tivemos que criar um tela que era composto por duas Data Actions, onde ambas teria que ser chamado simultaneamente, porém a tela em questão necessitava esperar um evento de um componente para chamar essas duas Data Actions.

Eis acima meu entendimento sobre como resolver o problema até então. Contudo, um dos meus liderados falou para mim que iria converter as Data Actions em componentes para que pudesse obter o resultado do placeholder loading simultâneo na tela. Eu perguntei o porque, e ele me falou que quando usamos DataAction ou Agregates On Demand dentro de um Flow eles são chamando de forma Síncrona. Eu descrente igual Tome, pedi para que me mostrasse, pois precisava vê para cré. Pois se convertesse em Data Actions quebraria a forma que tela foi construída no sentido de deixar mais difícil de dar manutenção.

## Eis o cenário :

Step 1 : A tela é chamada e o evento que inicial é iniciado, chamando a actions que irão ser chamadas em On Demand, além de iniciar o place holder loading.

Step 2 : Dentro do Flow a primeira Data Action é chamada, contudo, só após sua finalização é que o processo continua deixando o loading ainda em execução comprometendo a experiência do usuário.

Step 3: Após a chamada do segundo Data Action depois de 10 segundo esperando a primeira é retornado os dados e renderizando os dados em sua totalidade na tela.

Após essa conclusão não tão obvia para mim, eu tive o seguinte raciocino: Como pode isso funcionar assim, não é React ? ou seja é Javascript e por padrão a linguagem é assíncrona.

## Eis o solução :

Ai foi onde pedi para o dev criar duas actions e dividir as chamadas :

Depois falei para que ele criar uma nova action onde teria uma chamada javascript, onde iria chamar as duas actions que acabamos de criar, por javascript puro, o que transformaria a chamada em assíncrona na teoria.

Porém após publicarmos o testarmos conseguimos obter o resultado assíncrono que desejávamos :

# Conclusão

Saber o básico das coisas é tão eficiente !! Quando aprendemos a ligar os pontos de forma correta. Apesar de não saber esse cenário e sem pesquisar no google ou coisas afins, resolvemos o problema.

Isso, apenas refletindo sobre a questão como meros aprendizes, fomos capazes de juntar aquilo que é obvio de forma criativa, o que resolvera 80% dos seus problemas que segundo o teoremas de PARETO é baseado em 20% do seu conhecimento, o que significa que você não precisa ser especialista, mas usar aquilo que está ao seu alcance .

Eiiiii me ajuda ai vai !? deixa uma palminhaaaa 👋🏻 e clica em seguir para mais conteúdos legais.

--

--

No responses yet