0
我想要一箇中間件,將在err和non錯誤鏈內建立一個變量。這怎麼可能?傳遞ERR在回調自動使得它跳過中間件的正常鏈條,反之亦然,如果刪除犯錯它跳過中間件的ERR鏈...Middlware由錯誤和正常鏈共享
middleware.redirect = function(){
return function (err, req, res, next){
if(req.form.redirect){
req.form_redirect = url.parse(req.form.redirect);
}else{
req.form_redirect = url.parse(config.domain);
req.form_redirect.pathname = "thanks";
}
if(err) return next(err);
return next();
}
}
您的後續中間件可能會根據錯誤值區分請求之間的中間件(或者採取行動或拒絕或將其傳遞給下一個請求)。這是標準的行爲。除此之外,你還想要什麼?並行錯誤和正常鏈不是你應該如何設計它們的。中間件的功能必須是平行的。每個處理由last處理的錯誤或請求。 – user568109
@ user568109是的,但它們都在鏈中共享這個變量,而DRY是本質的...... – ThomasReggi