javascript - ES6 menjana masalah
给我你的怀抱
给我你的怀抱 2017-06-12 09:22:08
0
2
624

Semasa belajar ES6 menjana, mengapakah contoh berikut tidak boleh dicetak dan ralat dilaporkan?
Bagaimana untuk mengubah suai?

Adakah saya perlu melaksanakan gen() atau 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())
给我你的怀抱
给我你的怀抱

membalas semua(2)
伊谢尔伦

Apa yang dikembalikan oleh fungsi jana selepas memanggil ialah objek jana
Dan generate.next juga mengembalikan objek, yang mengandungi dua atribut: nilai dan selesai
Jadi ia sepatutnya dipanggil seperti ini

let g = gen()
console.log(g.next()) //{ value: ..., done: false }
typecho
//返回一个Iterator指针,还没开始执行
const g = gen();
//执行 readFile('../test/1.json');
g.next();
//执行 readFile('../test/2.json');
//下面没有yield,所以会一直执行下去
g.next();
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan