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())
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