A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Generator below:

Generator - JavaScript | MDN

Generator

Baseline Widely available

O objeto Generator é retornado por generator function e conforme iterable protocol e o iterator protocol.

Síntaxe
function* gen() {
  yield 1;
  yield 2;
  yield 3;
}

var g = gen(); // "Generator { }"
Métodos
Generator.prototype.next()

Retorna o valor fornecido pela expressão yield.

Generator.prototype.return()

Retorna o valor fornecido a finaliza o generator.

Generator.prototype.throw()

Lança um erro no generator.

Example An infinite iterator
function* idMaker() {
  var index = 0;
  while (true) yield index++;
}

var gen = idMaker(); // "Generator { }"

console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
// ...
Objeto legacy generator

Firefox (SpiderMonkey) também implementa a versão anterior do generator em JavaScript 1.7, onde o asterisco (*) na declaração da função não era necessário (somente era necessário usar a palavra reservada yield no corpo da função). Contudo, legacy generators estão obsoletos. Não os use, eles serão removidos (Erro do Firefox 1083482).

Métodos legacy generator
Generator.prototype.next() Não padrão

Retorna o valor fornecido pela expressão yield. Isto corresponde ao next() do ES6.

Generator.prototype.close() Não padrão

Fecha o generator, então quando chamar next() um erro StopIteration será lançado. Isto corresponde ao método return() do ES6.

Generator.prototype.send() Não padrão

Usado para enviar um valor para o generator. Este valor é retordo pela expressão yield, e retorna o valor fornecido pelo pelo next yield. send(x) corresponde ao next(x) do ES6.

Generator.prototype.throw() Não padrão

Lança um erro no generator. Isto corresponde ao método throw() do ES6.

Exemplo do Legacy generator
function* fibonacci() {
  var a = yield 1;
  yield a * 2;
}

var it = fibonacci();
console.log(it); // "Generator {  }"
console.log(it.next()); // 1
console.log(it.send(10)); // 20
console.log(it.close()); // undefined
console.log(it.next()); // throws StopIteration (Como o generator está fechado)
Especificações Compatibilidade com navegadores Veja Também Legacy generators ES6 generators

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4