async.waterfallでスローされたときにexpressjsがエラーを処理しない理由がわかりません
var express = require('express')
, app = express.createServer()
, async = require('async');
app.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
app.get('/error', function(req, res){
throw Error('Aie');
});
app.get('/asyncerror', function(req, res){
var that = this;
async.waterfall([
function(next){
console.log('1');
next("42", "2");
},
function(arg, next) {
console.log(arg);
res.json('ok');
}
], function(err){
console.log(this);
throw Error('Aie');
});
});
app.listen(8888, function(){
console.log('Listen on 0.0.0.0:8888');
});
/error を取得すると、expressjs はクラッシュ サーバーなしで適切なエラーを出力しますが、/asyncerror を取得すると、サーバー クラッシュで標準出力に出力されます。
ありがとうございます。