A continuación, he escrito una función que toma una matriz y una clave para buscar y contar la cantidad de veces que la clave coincide con un elemento en una matriz (en paralelo). Estoy intentando modificar mi función para contar el número de coincidencias de forma asincrónica, pero no sé cuál es la mejor manera de hacerlo. Cualquier idea o ejemplo sería muy apreciado.
Mi código:
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 < 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 < threads; i++) { (async () => { 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(); } })(); } }