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.
Glossário
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.



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:



- 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.


