generator co函数问题
发布于 9 年前 作者 oyosc 3538 次浏览 最后一次编辑是 8 年前 来自 问答

想问下 function test(){ return Promise.all(arrayName);//arrayName是一个有多个Promise的数组 } 为什么yield * test()不行呢,这个是什么原因呢,求解决办法

9 回复

你要保证数组里的promise都resolve

问题解决了,这个是因为Promise.all返回的是一个处理了的Promise

yield * 可能会被删除, 不要使用这个…

@magicdawn 赞同。尽可能使用 yieldyield 的使用场景比 yield * 广,而且在 co 中可以涵盖 yield * 的场景,这一块性能的话,我觉得是可以忽略的。

@alsotang 大神,co中涵盖yield *具体怎么说?

@oyosc 当它没有存在过

@alsotang 上次面试有人告诉我已经被删除了~是真的么

好吧,刚看了co源码,确实不需要这个东西…

@magicdawn 不知道新版 v8 噢,我不用那东西的,但知道是干嘛的

回到顶部