Sie mischen Logik mit Rückrufen und Versprechungen. Sie brauchen den Rückruf also nicht, handeln Sie einfach nach dem zurückgegebenen Versprechen:
myOffer._offered = undefined
myOffer.save()
.then(function() {
console.log("I get here and quit?");
})
.then(null,function(err) {
console.log(err);
});
Mir ist aufgefallen, dass Sie einen weiteren Versuch mit Bluebird Promises unternommen haben, aber es ist nicht notwendig, da alle Fehler entsprechend weitergeleitet werden, wenn Sie wie hier gezeigt implementieren.
Es gibt Hinweise, dass Mongooose 5.x einen stärker standardisierten Ansatz für Zusagen haben und/oder Bluebird-Zusagen direkt verwenden soll, wenn sie konfiguriert sind