迭代器函数的定义 迭代器中需要返回一个对象这个对象中需要有一个next方法,next方法调用后,可以返回一个对象对象中有两个参数 第一个done value迭代出的结果

function * a() {  let x = yield 100;  console.log('x',x);  let y = yield 200;  console.log(y);  let z = yield 300;  return z}// let flag = false;// do {//   let {done,value} = it.next();//   console.log(value);//   flag = done;// } while (!flag);

co

let fs = require('mz/fs');// let co = require('co');//  generator  => async + awaitfunction * read() { // 可以暂停 可以支持promise   let age = yield fs.readFile('./name.txt','utf8');  let adress = yield fs.readFile(age,'utf8');  let r = yield fs.readFile(adress,'utf8');  return r;}function co(it) {  return new Promise((resolve,reject)=>{     // 异步线性执行怎么实现 koa express    function next(data) {      let { value, done } = it.next(data);       if(!done){         value.then(data=>{           next(data)         }, reject);       }else{         resolve(value);       }     }     next();  })}co(read()).then(data=>{  console.log(data);},err=>{  console.log(err);});// let it = read();// it.next().value.then(data=>{//   it.next(data).value.then(data=>{//     it.next(data).value.then(data=>{//       console.log(it.next(data).value);//     })//   })// })