Рефакторинг

This commit is contained in:
Book Pauk
2022-10-23 20:51:56 +07:00
parent 723af3ea8b
commit 63dfdaf2c2
2 changed files with 45 additions and 48 deletions

View File

@@ -56,9 +56,7 @@ class DbSearcher {
} }
async calcIntersect(idsArr) { async calcIntersect(idsArr) {
return await this.heavyCalc.run({ return await this.heavyCalc.run(idsArr, (args) => {
args: idsArr,
fn: (args) => {
//из utils.intersectSet //из utils.intersectSet
const intersectSet = (arrSet) => { const intersectSet = (arrSet) => {
if (!arrSet.length) if (!arrSet.length)
@@ -106,7 +104,6 @@ class DbSearcher {
result.sort((a, b) => a - b); result.sort((a, b) => a - b);
return result; return result;
}
}); });
} }

View File

@@ -66,7 +66,7 @@ class CalcThread {
} }
//async //async
run(params) {//args, fn run(args, fn) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.requestId++; this.requestId++;
@@ -78,7 +78,7 @@ class CalcThread {
}); });
if (this.worker) { if (this.worker) {
this.worker.postMessage({requestId: this.requestId, args: params.args, fn: params.fn.toString()}); this.worker.postMessage({requestId: this.requestId, args, fn: fn.toString()});
} else { } else {
reject(new Error('Worker does not exist')); reject(new Error('Worker does not exist'));
} }
@@ -112,7 +112,7 @@ class HeavyCalc {
} }
} }
async run(params) { async run(args, fn) {
if (this.terminated || !this.workers.length) if (this.terminated || !this.workers.length)
throw new Error('All workers terminated'); throw new Error('All workers terminated');
@@ -125,7 +125,7 @@ class HeavyCalc {
try { try {
this.load[found]++; this.load[found]++;
return await this.workers[found].run(params); return await this.workers[found].run(args, fn);
} finally { } finally {
this.load[found]--; this.load[found]--;
} }