Mieszasz logikę z wywołaniami zwrotnymi i obietnicami. Więc nie potrzebujesz oddzwaniania, po prostu postępuj zgodnie ze zwróconą obietnicą:
myOffer._offered = undefined
myOffer.save()
.then(function() {
console.log("I get here and quit?");
})
.then(null,function(err) {
console.log(err);
});
Zauważyłem, że podjąłeś kolejną próbę użycia obietnic Bluebird, ale nie jest to konieczne, ponieważ jeśli zaimplementujesz tak, jak pokazano tutaj, wszelkie błędy będą odpowiednio kierowane.
Istnieją uwagi, że mongooose 5.x ma mieć bardziej ustandaryzowane podejście do obietnic i/lub bezpośrednio używać obietnic Bluebird po skonfigurowaniu