2017-02-12 4 views
0

es6. Я изучаю генераторы, представленные в es6. Вот мой app.js, когда я запускаю узел app.js, ничего не печатает. Журналы не печатаются. Вот мой кодNode.js Генераторы не запускаются

 'use strict'; 
     let sequence; 
     const run = generator =>{ 
      sequence = generator(); 

     } 

     const resume = (val) => { 
      sequence.next(val); 
     } 

     const async = { 
      run, 
      resume 
     } 

     const pause = delay => { 
      setTimeout(() => { 
      console.log('++++++PAUSED FOR 500 MS++++++++++'); 
      async.resume(1000); 
      } , delay); 
     } 
     function* generatorFunction(){ 
      console.log('start*****   '); 
      var value = yield pause(500); 
      console.log('middle*****   ' + value); 
      value = yield pause(500); 
      console.log('end*****   '+ value); 
     } 

     async.run(generatorFunction); 

мне нужна помощь быстро

ответ

1

Я думаю, вы должны вызвать sequence.next();

const run = generator =>{ 
     sequence = generator(); 
     sequence.next(); 

    } 

в функции запуска, так что генератор может начать искать первый выход заявления

+0

он работал спасибо .. – Tarzan

+1

Или лучше, 'async.resume (не определен)'. – Bergi

Смежные вопросы