Skip to content

513 - parallel() - javascript #517

@jsartisan

Description

@jsartisan

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
    }
  };
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions