Facebook pixel
>Blog>Programação
Programação

Função yield em JavaScript: como usar e exemplos práticos

Neste artigo, vamos explorar o conceito e a funcionalidade da função yield em JavaScript, além de apresentar exemplos práticos de como utilizá-la em diferentes situações.

O que é a função yield em JavaScript e como ela funciona?

A função yield em JavaScript é uma funcionalidade introduzida na versão ES6 da linguagem. Ela está relacionada ao conceito de iteradores e permite que uma função seja pausada e retome sua execução posteriormente, mantendo seu estado interno. Essa capacidade de pausar e retomar a execução de uma função é conhecida como “iteração por demanda”.

Como utilizar a função yield em JavaScript em diferentes cenários?

A função yield em JavaScript pode ser utilizada em diversos cenários, trazendo benefícios e facilitando o desenvolvimento de certas funcionalidades. A seguir, serão apresentados alguns exemplos de como utilizar a função yield em diferentes contextos:

1. Iteração customizada:

A função yield permite a criação de iterações personalizadas em objetos ou estruturas de dados. Ao declarar uma função geradora, podemos iterar sobre seus valores utilizando a palavra-chave “yield”. Isso nos dá controle total sobre a iteração, permitindo que retornemos valores de maneira específica.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

2. Trabalhando com sequências infinitas:

Em alguns casos, precisamos trabalhar com sequências de valores que podem ser consideradas infinitas, como o conjunto dos números naturais ou os números primos. Utilizando a função yield, podemos criar uma função geradora que gera os próximos valores dessa sequência sob demanda.

3. Processamento assíncrono:

A função yield também pode ser utilizada em conjunto com a funcionalidade de Promises em JavaScript para lidar com operações assíncronas. Podemos criar uma função geradora que pausa a execução até que a Promise seja resolvida, retornando o resultado desejado.

Exemplos práticos de como usar a função yield em JavaScript

Agora que entendemos o conceito e as possibilidades da função yield em JavaScript, vamos analisar alguns exemplos práticos de como utilizá-la. Esses exemplos demonstram situações reais em que a função yield pode ser aplicada.

Exemplo 1: Criando uma sequência de números pares

function* gerarNumerosPares() {
  let numero = 0;
  while (true) {
    yield numero;
    numero += 2;
  }
}

const iterador = gerarNumerosPares();

console.log(iterador.next().value); // 0 
console.log(iterador.next().value); // 2
console.log(iterador.next().value); // 4

Exemplo 2: Trabalhando com operações assíncronas

function aguardar(ms) {
  return new Promise((resolve) => {
    setTimeout(() => resolve(), ms);
  });
}

function* tarefaAssincrona() {
  yield aguardar(1000);
  yield aguardar(2000);
  yield aguardar(3000);
}

const iterador = tarefaAssincrona();

(async () => {
  await iterador.next();
  console.log("Primeira etapa completa");
  
  await iterador.next();
  console.log("Segunda etapa completa");
  
  await iterador.next();
  console.log("Terceira etapa completa");
})();

Dicas e boas práticas ao utilizar a função yield em JavaScript

Aqui estão algumas dicas e boas práticas a serem consideradas ao utilizar a função yield em JavaScript:

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada
  • Utilize a função yield com moderação, usando-a apenas quando necessário. O uso excessivo dessa funcionalidade pode tornar o código complexo e difícil de entender.
  • Documente seu código adequadamente, explicando o propósito e o comportamento da função geradora que utiliza a função yield.
  • Evite utilizar a função yield dentro de laços de repetição aninhados. Isso pode levar a comportamentos inesperados e dificuldades de controle da execução.
  • Tenha em mente que a função yield não é suportada em todos os contextos, como em funções assíncronas, por exemplo. Certifique-se de conhecer bem os limites e as possibilidades dessa funcionalidade.

Conclusão

A função yield é uma poderosa ferramenta presente na linguagem JavaScript, que permite criar iterações personalizadas, lidar com sequências infinitas e trabalhar com operações assíncronas. Saber utilizar essa função de maneira adequada pode melhorar a eficiência do código e facilitar o desenvolvimento de certas funcionalidades.

Neste artigo, exploramos o conceito de função yield, como ela funciona e como utilizá-la em diferentes cenários. Fornecemos exemplos práticos e dicas importantes para o seu uso correto. Esperamos que este conteúdo tenha sido útil para você entender a função yield em JavaScript e começar a aplicá-la em seus projetos.

A Awari é a melhor plataforma para aprender sobre programação no Brasil.

Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.

Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Sobre o autor

A melhor plataforma para aprender tecnologia no Brasil

A Awari é a melhor maneira de aprender tecnologia no Brasil.
Faça parte e tenha acesso a cursos com aulas ao vivo e mentorias individuais com os melhores profissionais do mercado.