Bạn đang trộn logic với các lệnh gọi lại và lời hứa. Vì vậy, bạn không cần gọi lại, chỉ cần thực hiện theo lời hứa được trả về:
myOffer._offered = undefined
myOffer.save()
.then(function() {
console.log("I get here and quit?");
})
.then(null,function(err) {
console.log(err);
});
Tôi nhận thấy rằng bạn đã thực hiện một nỗ lực khác bằng cách sử dụng các hứa hẹn của Bluebird, nhưng không cần thiết vì nếu bạn triển khai như được hiển thị ở đây, bất kỳ lỗi nào sẽ được định tuyến một cách thích hợp.
Threre là những lưu ý rằng mongooose 5.x được dự kiến sẽ có cách tiếp cận tiêu chuẩn hóa hơn đối với các lời hứa và / hoặc sử dụng trực tiếp các lời hứa của Bluebird khi được định cấu hình