node.js の Express と統合された swagger を使用する API と、以下のように定義されたリソースがあります。(!req.params.id) のチェックでスローされた swagger エラーは、swagger の既定のエラー ハンドラーによってキャッチされます。mongoDB 削除呼び出しからのコールバックでスローされたエラーはキャッチされず、以下のエラーが表示されます。エラーは、コールバック関数のスコープ/順序に関係しているように見えます.node.jsの初心者として、非同期性を維持しながらこれを適切に行う方法についてアドバイスを得たいと思っていました. -ありがとう
events.js:74 throw TypeError('Uncaught, unspecified "error" event.'); ^ TypeError: キャッチされていない、特定されていない「エラー」イベント。
exports.remove = {
'spec' : {
"collapsed...for...brevity..." : "...",
"params" : [ {
"paramType" : "path",
"name" : "id",
"collapsed...for...brevity..." : "...",
}],
"errorResponses" : [ swe.notFound('id'), swe.invalid('id') ],
"nickname" : "remove"
},
'action' : function(req, res) {
if (!req.params.id) {
throw swe.invalid('id'); // THIS ERROR IS CAUGHT
}
req.coll.remove({_id : req.coll.id(req.params.id)}, function(e, result) {
if (e) {
throw swe.invalid('collection'); // THIS ERROR IS NOT CAUGHT
}
res.send({msg : 'success'});
});
}
};