6.3k 字 6 分钟
# 写在前面 最近发现了一个叫 co 的神奇东西,似乎是 es7 没发布时,没有 async,await 时的一个非常好用的库,感觉挺好玩的,打算模拟实现一个。 # 实现过程 # 只能执行同步代码版 这一版的代码十分简单,主要做到三点就行了 把返回的 promise 的 resolve 函数一层层往下传,当迭代结束时,把生成器函数的返回值传给 resolve 函数 如果没有结束迭代,就把上一次迭代获得的值作为下一次 next 函数执行的参数传入,一直重复执行直到迭代结束为止 function run(generatorFunc, data) { // 获得生成器...
more...