Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 360a304

Browse files
Fix resume method
1 parent d601579 commit 360a304

File tree

3 files changed

+18
-12
lines changed

3 files changed

+18
-12
lines changed

‎JavaScript/3-pause.js‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class Queue {
6464
this.finish(err, task);
6565
if (waiting.length > 0) {
6666
setTimeout(() => {
67-
if (!this.paused) this.takeNext();
67+
if (!this.paused&&waiting.length>0) this.takeNext();
6868
}, 0);
6969
}
7070
return;
@@ -109,11 +109,13 @@ class Queue {
109109
return this;
110110
}
111111
resume() {
112-
this.paused = false;
113112
if (this.waiting.length > 0) {
114-
const hasChannel = this.count < this.concurrency;
115-
if (hasChannel) this.takeNext();
113+
const channels = this.concurrency - this.count;
114+
for (let i = 0; i < channels; i++) {
115+
this.takeNext();
116+
}
116117
}
118+
this.paused = false;
117119
return this;
118120
}
119121
}

‎JavaScript/4-priority.js‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class Queue {
6868
this.finish(err, task);
6969
if (waiting.length > 0) {
7070
setTimeout(() => {
71-
if (this.paused && waiting.length > 0) this.takeNext();
71+
if (!this.paused && waiting.length > 0) this.takeNext();
7272
}, 0);
7373
}
7474
return;
@@ -113,11 +113,13 @@ class Queue {
113113
return this;
114114
}
115115
resume() {
116-
this.paused = false;
117116
if (this.waiting.length > 0) {
118-
const hasChannel = this.count < this.concurrency;
119-
if (hasChannel) this.takeNext();
117+
const channels = this.concurrency - this.count;
118+
for (let i = 0; i < channels; i++) {
119+
this.takeNext();
120+
}
120121
}
122+
this.paused = false;
121123
return this;
122124
}
123125
priority(flag = true) {

‎JavaScript/5-pipe.js‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class Queue {
6969
this.finish(err, task);
7070
if (waiting.length > 0) {
7171
setTimeout(() => {
72-
if (this.paused && waiting.length > 0) this.takeNext();
72+
if (!this.paused && waiting.length > 0) this.takeNext();
7373
}, 0);
7474
}
7575
return;
@@ -115,11 +115,13 @@ class Queue {
115115
return this;
116116
}
117117
resume() {
118-
this.paused = false;
119118
if (this.waiting.length > 0) {
120-
const hasChannel = this.count < this.concurrency;
121-
if (hasChannel) this.takeNext();
119+
const channels = this.concurrency - this.count;
120+
for (let i = 0; i < channels; i++) {
121+
this.takeNext();
122+
}
122123
}
124+
this.paused = false;
123125
return this;
124126
}
125127
priority(flag = true) {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /