p-queue icon indicating copy to clipboard operation
p-queue copied to clipboard

internal `pending` count out of sync

Open ZhangHanwen96 opened this issue 1 year ago • 0 comments

Lets say I have a queue for 10 tasks, I want to set it to pending if q.concurrency <= q.pending, before q.add(someTask),

But due to the internal implemetation of 'add()' method, the intertal pending++ got executed in the end of current eventloop, so when I do

items.forEach(item => {
   if(q.concurrency <= q.pending) {
            // set item pending
   } else { 
           // set item loading
   }
})

the current q.pending is not what I expected

Helps appreciated!

ZhangHanwen96 avatar Dec 28 '23 07:12 ZhangHanwen96