I am trying to write a function of mine using Bluebird promise Library. I promisified the ldap-js the createClient function of ldap-js by:
    var Promise= require('bluebird'); //done at the beginning
        var createClientAsync = Promise.promisify(require('ldapjs').createClient);
getUser:function(user) {
    var memberRoles = [];
    var searchFilter = '(&(member='+user.dn+'))';
     var opts = {
           filter: searchFilter,
           scope: 'sub',
           attributes: ['dn']
         };
    createClientAsync({
           url: 'ldap://x.x.x.x:3889'
         })
         .then(function(client){
           return client.search('o=pic', opts);
         })
         .then(function(res) {
           res.on('searchEntry', function(entry) {
               console.log('entry: ' + JSON.stringify(entry.object));
               for (var role in roles) {
                 var mapping = roles[role];
                 if (mapping.group === entry.object.dn) {
                   memberRoles.push(role);
                 }
               }
             });
         })
         .then(function() {
             return memberRoles;
         });
}
I get an error at createClientAsync undefined is not a function.
 
    