#javascript #arrays #key
#язык JavaScript #массивы #Клавиша
Вопрос:
Ниже я написал функцию, которая использует массив и ключ для поиска и подсчета количества совпадений ключа с элементом в массиве (параллельно). Я пытаюсь изменить свою функцию, чтобы асинхронно подсчитывать количество совпадений, но не знаю, как лучше всего это сделать. Любое понимание или примеры будут высоко оценены.
Мой Код:
function countMatches(arr, key, done) { const threads = 4; const pool = new StaticPool({ size: threads, task: function (a) { let m = 0; for (let i = 0; i lt; a.length; i ) { if (a[i] == this.workerData) m ; } return m; }, workerData: key }); const size = arr.length / threads; let res = 0, finished = 0; for (let i = 0; i lt; threads; i ) { (async () =gt; { let r = await pool.exec(arr.slice(i * size, (i 1) * size)); console.log("Result: " r); res = r; finished ; if (finished == threads) { done(res); pool.destroy(); } })(); } }
Комментарии:
1. войди
res
в свою ЖИЗНЬ(async (res)=gt; {...})(res);