我有问题,我的next(err)
不起作用。它忽略错误,只是加载页面,而不是发送HTTP状态码404。下一个(err)在node.js中不工作
ldap搜索正常工作,结果看起来和预期的一样。当else语句被命中时,它不会返回错误。 控制台的确显示日志
app.use(function(req, res, next){
conn.search('dc=foo', opts, function (err, res) {
assert.ifError(err)
var entries = []
res.on('searchEntry', function (entry) {
entries.push(entry.object)
})
res.on('end', function (result) {
conn.unbind(function (err) {
console.log('Disconnecting')
if (entries.length == 1) {
next()
} else {
console.log('fail')
var err = new Error('Permission Denied')
err.status = 404
next(err)
}
})
})
})
})
嗯,这是一个很好的4级深回调地狱。你确定'res.on('end')'应该在'res.on('searchEntry')'里面吗? –
哈哈是啊,我的坏是输入不CP /浆糊。我总是在这里弄脏缩进 – H30
'res.on('end')'仍然在'res.on('searchEntry')'内......如果你给我们错误的代码,没人会帮忙的 –