@utilx/promise
v0.0.4
Published
## install
Downloads
1
Readme
promise-utils
install
npm install @utilx/promise --save
功能
sleep函数,以及可中断
我可以提供一个 naive版本的
const p = sleep(3000)
setTimeout(() => p.interrupt(), 1000)
await p // one second it will be interrupted
TimeoutPromise
可以提供一个TimeoutPromise的设计,实现:
- 可以定时关闭
- 可以interrupt
BlockingQueue
为什么不做n2n队列
- 生产者蜂拥而至,处于await状态,此时其实排在系统内部的队列,本质与我们放在队列排队,无性能区别
- 多个生产者在等候,如果无队列化,一定会出现争抢,效率不高
因此 n2n 就用 n->1
以及 1->n
来模拟,避免性能
特性:
n个prodcuer,n个consumer n个prodcuer会
设置是否blocking
传入函数,n个兑现
consumer.take
测试
采用长度为1的blockingqueue,非常容易重现死锁的问题