JavaScript Assíncrono – Introdução

Em:

JavaScript tem muitas qualidades que eu, pessoalmente, admiro muito. Uma das mais divertidas é, sem dúvida, as possibilidades assíncronas desta linguagem!

Uma feature divertida e, ao mesmo tempo, complexa. O JavaScript nos dá a possibilidade de escrever utilizando alguns paradigmas interessantes (e dignos de estudo aprofundado) como o paradigma procedural, o paradigma funcional ou com Orientação a Objetos (por meio de protótipos, não de classes).

Mas todo esse benefício tem um preço, e o preço é justamente a complexidade que isso traz na hora de lermos e compreendermos um código.

Além disso, o JavaScript também trabalha com fluxos bem distintos e nós podemos “quebrar” tais fluxos utilizando algumas features da linguagem, como setTimeout, setInterval, addEventListener, entre outros.

O JavaScript sempre teve como ponto forte a possibilidade de trabalhar de forma assíncrona e, há muito, vem evoluindo o assunto. Tivemos uma importante explosão com o Ajax há mais de uma década e, antes dele, já usávamos iframes para atingirmos resultados parecidos.

Promises vieram para nos ajudar a superar o famoso callback hell, uma verdadeira “maçaroca” em que alguns códigos acabavam se tornando! As promises trouxeram um padrão para lidarmos com código assíncrono, para desenvolvermos APIs mais robustas e modernas e organizar nosso código assíncrono de maneira mais legível. Mas elas também não são nenhuma “bala de prata” e tem seus problemas.

O JavaScript moderno conta com várias novas opções que são justamente as que abordaremos nesta série. Entre elas, Promises, Async/Await, Generators, Web Worker…

Acompanhem os próximos artigos nos quais aprofundaremos cada um dos padrões e APIs.

  • GitHub anuncia ferramenta linda para código de conduta

    O GitHub continua surpreendendo na evolução da plataforma de inúmeras maneiras.
    Nem sempre essas evoluções são focadas em código propriamente dito, o que torna tudo ainda mais legal.

  • Profissionalizando seus projetos no GitHub

    O Git é A ferramenta mais usada entre desenvolvedores. O desenvolvedor pode usar Linux, Mac ou Windows, pode usar Apache, NGINX ou algum Static Server, pode usar PHP, Python, Ruby, Go ou JS (NodeJS), mas todos usam GIT. Gráfico Git vs SVN E o GitHub é, de longe, a plataforma mais utilizada pelas comunidades de […]

  • Variáveis no CSS

    Variáveis no CSS Sim, meus amigos, os browsers estão começando a ter suporte a variáveis no CSS! O Firefox já oferece o suporte nativamente, enquanto chrome tem suporte em sua versão canary. Confira a tabela no caniuse e mantenha-se atualizado. :root Antes de abordarmos as variáveis propriamente ditas, vejamos o :root. Trata-se de uma pseudo-class […]

Patrocinadores BrazilJS

Gold

Silver

Bronze

Apoio

BrazilJS® é uma iniciativa NASC.     Hosted by Getup