国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - Wie verwende ich die Generatorfunktion yield in es6?
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-06-26 10:50:39
0
1
814

Schauen wir uns zuerst den Code an:

function wrapper(generatorFunction) {
    return function (...args) {
        let generatorObject = generatorFunction(...args);
        generatorObject.next();
        return generatorObject;
    };
}

const wrapped = wrapper(function* () {
    console.log(`First input: ${yield}`);
    return 'DONE';
});

wrapped().next('hello!')
// First input: hello!

Wie ist dieses Ausgabeergebnis zu verstehen? Nach langem Nachdenken konnte ich die Ergebnisse seiner Operation nicht verstehen.
Au?erdem gibt es folgenden Code:

function* dataConsumer() {
  console.log('Started');
  console.log(`1. ${yield}`);
  console.log(`2. ${yield}`);
  return 'result';
}

let genObj = dataConsumer();
genObj.next();
// Started
genObj.next('a')
// 1. a
genObj.next('b')
// 2. b

Ich verstehe es immer noch nicht. Bitte helfen Sie mir, die beiden oben genannten Codeteile zu analysieren und die Generatorfunktion zu erlernen. Danke sch?n.

PHP中文網(wǎng)
PHP中文網(wǎng)

認(rèn)證高級(jí)PHP講師

Antworte allen(1)
劉奇

yield 關(guān)鍵字有兩個(gè)作用:

  1. 暫停生成器函數(shù)執(zhí)行并返回后方表達(dá)式的值

  2. 恢復(fù)生成器函數(shù)執(zhí)行并得到 next 方法傳入的可選參數(shù)

你給到的兩個(gè)例子都是用 yield 接收了 next 方法傳入的參數(shù)。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage