提问
大家应该都经历过这么一个场景,当我们使用微博或者写文章的时候,网站允许我们一次性选择多个图片进行上传,或者当我们写爬虫的时候都需要用并发来提高效率,那么问题来了,因为并发数过大会影响服务器的性能,因此需要限流。那我们如何实现并发的同时又限制个数呢?请实现一个Promise.map
方法
先思考一下下……..
回答
设计成 Bluebird(npm包) 的 API,是比较模块化,也是易于使用的。代码的关键在于维护一个队列,当超过限定数量的 Promise 时,则交与队列维护。代码如下
1 |
|
课外题:自己实现一个
Promise.all
函数