frontend-challenges icon indicating copy to clipboard operation
frontend-challenges copied to clipboard

513 - parallel() - javascript

Open jsartisan opened this issue 2 months ago • 0 comments

index.js

function promisify(func) {
  return new Promise((resolve, reject) => {
    func((err, data) => {
      if (err) {
        reject(err);
      } else {
        resolve(data);
      }
    });
  });
}
export function parallel(funcs) {
  return async function (callback) {
    try {
      const promises = funcs.map(promisify); // run all at once
      const result = await Promise.all(promises);
      callback(null, result);
    } catch (error) {
      callback(error, undefined); // if one fails, callback with error
    }
  };
}

jsartisan avatar Sep 28 '25 06:09 jsartisan