我有問題,我的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')'內......如果你給我們錯誤的代碼,沒人會幫忙的 –