0
古典的なmongooseコールバックとES6の約束事からの違いと利点がわかりません。私はthen() & catch()
兄弟の代わりexec()
コールバックを好む理由は、いくつかのES6砂糖と この集計クエリMongoose es6約束、エグゼクティブコールバック
router.get('/', function(req,res) {
caseNote.aggregate([
{$unwind: '$field'},
{$match: {field: "aaa"}},
{$project: {field: 1, _id: 0}}
])
.exec(function(err, data) {
if (err)
res.json(err);
else {
if(data[0])
res.json(data[0].field);
else
res.json([]);
}
});
});
は
router.get('/', cache, function(req,res) {
caseNote.aggregate([
{$unwind: '$field'},
{$match: {field: "aaa"}},
{$project: {field: 1, _id: 0}}
])
.exec()
.then(data => res.json(data[0] ? data[0].field: {error:"result error"}))
.catch(err => res.json(err));
});
に変えることでしょうか?
私は全体のレポを読んでいただきありがとうございます。一方で、副次的な疑問:ES6ジェネレータは約束によって追い越されるのだろうか、それともそれぞれの目的が異なるのだろうか? – alfredopacino
ES7の非同期関数はジェネレータをベースにしているため、ジェネレータにはさまざまな用途がありますが、実際には逆の方法になると思います。これも本当に良い読書です! http://rossboucher.com/await/#/ –