Masalah yang Anda alami adalah bahwa kueri luwak tidak mengembalikan janji matang penuh -- langsung mengutip http:// mongoosejs.com/docs/promises.html (v4.7.6)
// A query is not a fully-fledged promise, but it does have a `.then()`.
query.then(function (doc) {
// use doc
});
// `.exec()` gives you a fully-fledged promise
var promise = query.exec();
assert.ok(promise instanceof require('mpromise'));
Dengan kata lain, then
fungsinya adalah gula sintaks dan bukan promise
itulah sebabnya bind
dan fungsi janji lainnya tidak berfungsi.
Untuk membuatnya berfungsi, Anda dapat membungkusnya dengan janji penuh atau menggunakan exec
berfungsi seperti yang disarankan dalam dokumen