ES6的generate问题

在学习ES6的generate,下面例子为什么不能打印,还会报错?
如何修改?

我是应该执行gen()还是gen.next()

var fs = require('fs');


var readFile = function (fileName) {

  return new Promise(function (resolve, reject) {

    fs.readFile(fileName, function(error, data) {

      if (error) reject(error);

      resolve(data);

    });

  });

};


var gen = function* () {

  var f1 = yield readFile('../test/1.json');

  var f2 = yield readFile('../test/2.json');

  console.log(JSON.stringify(f1));

  console.log(JSON.stringify(f1));

};


//gen()

console.log(gen.next())


三国纷争
浏览 489回答 1
1回答

慕仙森

generate function调用后返回的是一个generate对象而且generate.next返回的也是一个对象,包含了value和done两个属性所以应该这么调用let g = gen()console.log(g.next()) //{ value: ..., done: false }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript