Generator函数是ES6提供的一种异步编程解决方案,具体请看Generator函数教程。Generator函数有多种理解角度。从语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态。
   执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历Generator函数内部的每一个状态。

JavaScript中如何手动模拟创建Iterators迭代器(遍历器)

通过代码实现,具体如下

/**
 * JavaScript中手动模拟创建Iterators迭代器
 */
function Iterators(args) {
  let i = 0;
  return {
    next() {
      let done = (i >= args.length - 1);
      let value = args[i++];
      return {
        value: value,
        done: done
      }
    }
  }
}

//进行测试验证结果
let test = Iterators(['microzz', '涵月天', 'IT技术分享']);
console.log(test.next()); // { value: 'microzz', done: false }
console.log(test.next()); // { value: '涵月天', done: false }
console.log(test.next()); // { value: 'IT技术分享', done: true }
console.log(test.next()); // { value: undefined, done: true }