BT

CoffeScript 1.9 introduz suporte a Generators

| por Sergio De Simone Seguir 12 Seguidores , traduzido por Diogo Carleto Seguir 31 Seguidores em 23 fev 2015. Tempo estimado de leitura: 1 minuto |

O CoffeScript 1.9 finalmente introduziu o suporte para os tão aguardados generators, que prometem evitar o callback hell e ajudar a escrever código assíncrono.

Os generators são, em resumo, funções que podem ter a suas execuções interrompidas e retomadas posteriormente, garantindo que as variáveis associadas serão salvas e recuperadas entre as execuções. O CoffeeScript 1.9 define um generator como uma função que usa a nova palavra-chave yield. Este é um exemplo de um simples generator:

foo = ->
    i = 0
    yield i +1
    yield i +2

 

Ao executar repetidas vezes o generator, ele irá fornecer os valores obtidos sucessivamente, que é 1 e então 2.

Os generators fazem parte da proposta ECMAScript 6 e foram introduzidos anteriormente na versão 0.11 do node, mas só são habilitados quanto é passado o parâmetro --harmony-generators para o node. Os generators têm sido vistos como um modelo alternativo para os callbacks manipularem código assíncrono, também usados em conjunto com promises ou não.

Outras funcionalidades fornecidas pelo CoffeeScript 1.9 são:

  • Melhoria na compilação e geração de relatório de erros para strings e regex;
  • Nova estratégia para gerar nomes internos de variáveis do compilador, implicando que parâmetros declarados como @parameter não estão mais disponíveis, como por exemplo dentro do corpo de uma função;
  • Compatibilidade de REPL fixa com a última versão do Node e lo.ja.

O CoffeeScript é uma linguagem que compila em JavaScript com o objetivo de expor as partes boas de JavaScript de maneira simples.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT