ktoś może wykładać na czasy, kiedy jest to właściwe w node.js ekspresowe aplikacji wyrzucić błąd tak:node.js z Express - rzucają błąd vs następnego (błąd)
throw new Error('my error');
lub przekazać to Błąd na pośrednictwem zwrotnego zwykle oznaczonego „obok” tak:
next(error);
i może pan wyjaśnić, co każdy z nich będzie zrobić w kontekście aplikacji Express?
na przykład, tutaj jest wyraźna funkcja czynienia z parametrów URL: „// powinien utworzyć własną błąd tutaj”
app.param('lineup_id', function (req, res, next, lineup_id) {
// typically we might sanity check that user_id is of the right format
if (lineup_id == null) {
console.log('null lineup_id');
req.lineup = null;
return next(new Error("lineup_id is null"));
}
var user_id = app.getMainUser()._id;
var Lineup = app.mongooseModels.LineupModel.getNewLineup(app.system_db(), user_id);
Lineup.findById(lineup_id, function (err, lineup) {
if (err) {
return next(err);
}
if (!lineup) {
console.log('no lineup matched');
return next(new Error("no lineup matched"));
}
req.lineup = lineup;
return next();
});
});
W linii skomentował Mogłem użyć "throw new Error ('xyz')", ale co dokładnie by to zrobiło? Dlaczego zwykle lepiej jest przekazać błąd do wywołania zwrotnego "dalej"?
Kolejne pytanie brzmi - w jaki sposób mogę uzyskać "nowy błąd (" xyz ")", aby pojawić się w konsoli, a także w przeglądarce, gdy jestem w fazie rozwoju?