亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

javascript - ES6 generate problem
給我你的懷抱
給我你的懷抱 2017-06-12 09:22:08
0
2
737

While learning ES6 generate, why can’t the following example be printed and an error will be reported?
How to modify?

Should I execute gen() or 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())
給我你的懷抱
給我你的懷抱

reply all(2)
伊謝爾倫

What the generate function returns after calling is a generate object
And generate.next also returns an object, which contains two attributes: value and done
So it should be called like this

let g = gen()
console.log(g.next()) //{ value: ..., done: false }
typecho
//返回一個Iterator指針,還沒開始執(zhí)行
const g = gen();
//執(zhí)行 readFile('../test/1.json');
g.next();
//執(zhí)行 readFile('../test/2.json');
//下面沒有yield,所以會一直執(zhí)行下去
g.next();
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template