1) Generator 函数必须靠执行器,所以才有CO函数库,async函数自带执行器 2)更好的语义 3)更广的适用性。co函数库yield后面只能是Thunk函数或者Promise对象,await后面可以跟Promise对象和原始类型值(等同于同步操作)
Generator 函数:可以把它理解成一个函数的内部状态的遍历器,Generator重点在解决异步回调金字塔问题,巧妙的使用它可以写出看起来同步的代码。