Node.JS Async / Await Dealing With Callbacks?

Viewed 9024

Is there a way to deal with callback functions inside an async function() other than mixing in bluebird or return new Promise()?

Examples are fun...

Problem

async function bindClient () {
  client.bind(LDAP_USER, LDAP_PASS, (err) => {
    if (err) return log.fatal('LDAP Master Could Not Bind', err);
  });
}

Solution

function bindClient () {
  return new Promise((resolve, reject) => {
    client.bind(LDAP_USER, LDAP_PASS, (err, bindInstance) => {
      if (err) {
        log.fatal('LDAP Master Could Not Bind', err);
        return reject(err);
      }
      return resolve(bindInstance);
    });
  });
}

Is there a more elegant solution?

2 Answers
Related