Mongoose – Perché creiamo “mongoose.Promise = global.Promise” quando imposti un modulo di mangusta?

Sto lavorando con Mongoose. Ho visto molti sviluppatori fare il seguente comando:

mongoose.Promise = global.Promise; 

Poi ero curioso di vedere qual è il valore originale di mongoose.Promise . Ho inserito nel mio editor il seguente comando:

 const mongoose = require("mongoose"); console.log("promise: ", mongoose.Promise); 

La mia console mi ha restituito:

promise: function Promise () {[codice nativo]}

Okay, allora perché rendere il comando mongoose.Promise = global.Promise poiché la promise di Mongoose restituisce già un codice nativo? Non capisco il punto, se qualcuno può aiutarci a capire, sarebbe fantastico,

Grazie

Questo è un codice legacy di vecchi esempi che non è necessario con Mongoose 5.

Mongoose 4 ha fatto affidamento sulla propria implementazione di promise, mpromise . mongoose.Promise non era necessariamente Promise globale.

Come Mongoose 4 mongoose.Promise documentation states:

Mongoose 5.0 utilizzerà le promesse native per impostazione predefinita (o bluebird, se non sono presenti promesse native) ma supportano ancora il collegamento alla propria libreria di promesse compatibili con ES6. Mongoose 5.0 non supporta mpromise.

Anche se la dichiarazione su Bluebird non è più vera; Mongoose 5 ha abbandonato il supporto delle versioni di Node che non hanno promesse native.

 mongoose.Promise = global.Promise; 

potrebbe essere ancora necessario se global.Promise stato assegnato con un’altra implementazione (ad esempio Bluebird) dopo che è stata importata la Mongoose, anche se una cosa migliore sarebbe assegnargli global.Promise = Bluebird precedenza.