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.

  • Programa de afiliados BrazilJS

    Histórico Em 2011, ano em que aconteceu a primeira edição da BrazilJS Conf, não existiam eventos focados em JavaScript e em tecnologias Front-end no Brasil. Obviamente, desde antes disso, o JavaScript e tecnologias relacionadas começaram a ser “levados mais a sério” por todos, levando o desenvolvimento Web para um outro patamar. Após a segunda edição […]

  • Gerenciamento de variáveis de ambiente

    As variáveis de ambiente ajudam a definir valores que não queremos codificar diretamente em nosso código fonte. Variáveis que nos permitem personalizar o comportamento do código, dependendo do ambiente no qual ele está sendo ou será executado.

  • Weekly #172 – Webinar React, Mais sobre JS Assíncrono e Clean Code

    A BrazilJS Weekly é a seleção semanal que reúne as novidades sobre o desenvolvimento Web no Brasil e no mundo. Ainda não é inscrito? Faça o seu cadastro e receba nossa Newsletter semanal 😎👊🙂👌👍 Sugira conteúdo para a Weekly usando o nosso canal de issues no Github. Um agradecimento especial aos 16 colaboradores da edição […]

Patrocinadores BrazilJS

Bronze

BrazilJS® é uma iniciativa NASC.     Hosted by Getup