A RetroSearch Logo

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

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator/next below:

AsyncGenerator.prototype.next() - JavaScript | MDN

AsyncGenerator.prototype.next()

Baseline Widely available

Die next()-Methode von AsyncGenerator-Instanzen gibt den nächsten Wert in der Sequenz zurück.

Syntax Parameter
value Optional

Ein optionaler Wert, der verwendet wird, um den internen Zustand des Generators zu ändern. Ein an die next()-Methode übergebener Wert wird von yield empfangen.

Rückgabewert

Ein Promise, das beim Auflösen ein Object mit zwei Eigenschaften zurückgibt:

done

Ein boolescher Wert:

value

Jeder JavaScript-Wert, der vom Generator "yielded" oder zurückgegeben wurde.

Beispiele Verwenden von next()

Das folgende Beispiel zeigt einen Generator und das Objekt, das die next-Methode zurückgibt:

// An async task. Pretend it's doing something more useful
// in practice.
function delayedValue(time, value) {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve(value), time);
  });
}

async function* createAsyncGenerator() {
  yield delayedValue(500, 1);
  yield delayedValue(500, 2);
  yield delayedValue(500, 3);
}

const asyncGen = createAsyncGenerator();
asyncGen.next().then((res) => console.log(res)); // { value: 1, done: false }
asyncGen.next().then((res) => console.log(res)); // { value: 2, done: false }
asyncGen.next().then((res) => console.log(res)); // { value: 3, done: false }
asyncGen.next().then((res) => console.log(res)); // { value: undefined, done: true }
Werte an den Generator senden

In diesem Beispiel wird next mit einem Wert aufgerufen.

Hinweis: Der erste Aufruf protokolliert nichts, da der Generator zunächst nichts "yielded".

// An async task. Pretend it's doing something more useful
// in practice.
function sleep(time) {
  return new Promise((resolve, reject) => {
    setTimeout(resolve, time);
  });
}

async function* createAsyncGenerator() {
  while (true) {
    await sleep(500);
    const value = yield;
    console.log(value);
  }
}

async function main() {
  const asyncGen = createAsyncGenerator();
  // No log at this step: the first value sent through `next` is lost
  console.log(await asyncGen.next(1)); // { value: undefined, done: false }
  // Logs 2: the value sent through `next`
  console.log(await asyncGen.next(2)); // { value: undefined, done: false }
}

main();
Spezifikationen Browser-Kompatibilität Siehe auch

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