Javascript Ldapjs搜索似乎没有结束

Javascript Ldapjs搜索似乎没有结束,javascript,node.js,ldap,ldapjs,Javascript,Node.js,Ldap,Ldapjs,一般来说,我对ldapjs和ldap都是新手。我目前有以下代码: var search = client.search(base, opts, function(err, res) { assert.ifError(err); res.on('searchEntry', function(entry) { console.log('entry: ' + JSON.stringify(entry.object)); }); res.on('search

一般来说,我对ldapjs和ldap都是新手。我目前有以下代码:

var search = client.search(base, opts, function(err, res) {
    assert.ifError(err);

    res.on('searchEntry', function(entry) {
      console.log('entry: ' + JSON.stringify(entry.object));
    });
    res.on('searchReference', function(referral) {
      console.log('referral: ' + referral.uris.join());
    });
    res.on('error', function(err) {
      console.error('error: ' + err.message);
    });
    res.on('end', function(result) {
      console.log('status: ' + result.status);
    });
});
我的搜索正确,找到了所需的一切。我的问题是它确实成功地到达res.on('end')并打印出状态代码(0),但我正在运行的脚本从未“正式”结束,因此导致我必须执行键盘中断


此外,我尝试使用res.end(),但被告知这不是一个函数。有什么东西我完全遗漏了吗?谢谢

我认为这更像是nodejs的问题,而不是ldapjs。 您可以在“结束”事件中添加并退出程序

见:

在('end'…)上尝试为您的资源执行此操作

res.on('end', (result => {
    console.log('status: ' + result.status);
    client.destroy();
});