在JavaScript/NodeJS中返回錯誤號或錯誤狀態碼的最有效方法是什麼?例如,我想在下面的代碼片斷返回401狀態碼(或錯誤代碼):如何在Node中返回HTTP錯誤狀態碼?
var login = function (params, callback) {
var email = params.email || '',
password = params.password || '';
if (!isValidEmail(email)) {
return callback(new Error('Email address required', 401));
}
// Do something else
};
的登錄方法,上方,將被稱爲如下:
authRouter.post('/login', function(req, res) {
svc.login(req.body, function (err, response) {
if (err) {
err.statusCode = err.statusCode || 401;
return res.status(err.statusCode).send({ message: err.message });
} else {
return res.send(response);
}
});
});
的這裏的目標是在方法中設置err.statusCode
(或類似的)並通過回調傳回。基本上,我正在尋找的這個簡寫:
var err = new Error('Email address required');
err.statusCode = 401;
return callback(err);
你的意思是,發送到客戶端?你在用什麼框架? – Bergi
使用節點...應該無關緊要,我只想讓錯誤對象包含數字值。 –
如果這是問題,只需使用一個輔助函數StatusError(stat,msg){var err = new Error(msg); err.statusCode = stat;返回錯誤; }'那麼 – Bergi