javascript - Comment utiliser la fonction Generator Yield dans ES6?
PHP中文网
PHP中文网 2017-06-26 10:50:39
0
1
598

Jetons d'abord un coup d'œil au code :

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!

Comment comprendre ce résultat de sortie ? Après avoir longuement réfléchi, je n'arrivais pas à comprendre les résultats de son opération.
Il y a aussi le code suivant :

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

Je ne comprends toujours pas, aidez-moi à analyser les deux morceaux de code ci-dessus et aidez-moi à apprendre la fonction Générateur. Merci.

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous (1)
刘奇

yieldLes mots clés ont deux fonctions :

  1. Suspend l'exécution de la fonction génératrice et renvoie la valeur de l'expression suivante

  2. Reprenez l'exécution de la fonction génératrice et récupérez les paramètres facultatifs transmis par lanextméthode

Les deux exemples que vous avez donnés utilisent tous deuxyield接收了nextpour recevoir les paramètres transmis par la méthode

.
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!