DEV Community

Cover image for Você sabe como funciona a lógica de Loading nas aplicações?
William Quayson
William Quayson

Posted on

5 3

Você sabe como funciona a lógica de Loading nas aplicações?

Em JavaScript, as funções assíncronas são utilizadas para a realização de requisições HTTP (GET, POST, PUT, DELETE...) para se consumir dados, e, geralmente, essas funções demoram um certo tempo para ser executadas, por isso são assíncronas, para que a aplicação não pare por completo quando se precisar fazer uma requisição ao servidor.

Com isso em mente, por uma questão de usabilidade, é importante dar um feedback visual ao usuário quando uma requisição for iniciada e finalizada - o Loading.

Alt Text

Nós podemos controlar quando uma animação de loading vai ser mostrada ou não. Utilizando como exemplo o React(e, automaticamente, o React Native) podemos utilizar um estado que eu chamo de isLoading que possui um valor inicial false. Em conjunto com esse estado, utilizo alguma animação para ser mostrada em tela, servindo como feedback visual para o usuário. Por exemplo, no React eu posso usar a coleção React Spinners (https://www.davidhu.io/react-spinners/) e o React Native possui um componente nativo chamado Activity Indicator (https://reactnative.dev/docs/activityindicator).

Sempre que eu fizer uma função assíncrona em meu componente, dentro dela mudo o valor desse estado para true, e controlo o tempo da requisição via try/catch. Alterarei o estado de volta para false no try(após o await, que é quando a requisição é completada) e no início do catch, para mostrar algum possível erro.

Agora, para se mostrar a animação em tela enquanto todo esse processo é realizado, eu posso abrir chaves dentro do meu JSX e utilizar o operador lógico && ou um operador ternário.

Alt Text

Isso é tudo pessoal. Disseminem o conhecimento! Até a próxima!

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs