Это потому, что вы звоните resp.send
дважды: в обратном вызове client.bind
и в обратном вызове res.on("end")
.
Я бы предложил поместить второе задание в обратный вызов bind
, чтобы вы могли проверить ошибку, и если она есть, вы остановитесь на этом.
Если это удастся, тогда я пошлю entries
.
app.get("/getList", function(req, resp) {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
var client = ldap.createClient({
url: 'ldap://my_ip:389'
});
client.bind('cn=pratik', 'pratik', function(err) {
if (err) return resp.send(err);
var opts = {
filter: '(objectclass=classToSearch)',
scope: 'sub',
attributes: ['ipaddress']
};
var entries = {};
var i = 0;
client.search('o=a', opts, function(err, res) {
res.on('searchEntry', function(entry) {
console.log('entry: ' + JSON.stringify(entry.object));
oxe[i] = entry.object;
i++;
});
res.on('end', function(result) {
console.log("pratik");
console.log(entries);
return resp.send(entries);
});
});
});
});