私はnext(err)
が動作していないという問題があります。エラーを無視し、HTTPステータスコード404を送信する代わりにページをロードするだけです。next(err)がnode.jsで動作しない
ldap検索は正常に動作し、結果は期待通りに見えます。 elseステートメントがヒットしたときにエラーを返すだけではありません。 コンソールは、私はそのようなnext
作品を考えていないログ
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')'の内部にあるはずですか? –
haha yea my badがcp/pasteに入力されていませんでした。そして、私はいつもここでインデントを混乱させるようです。 – H30
'res.on( 'end')'はまだ 'res.on( 'searchEntry')の中にあります...あなたが私たちに間違ったコードを与えると誰も助けることができません –