ich einen Weg brauchen Wert zu speichern außerhalb mongoDB Anruf verbinden:mongodb NodeJS Speicherwert außerhalb verbinden
read(object) {
let result
MongoClient.connect(this.url, function (err, db) {
if (err!=null){
result = err;
} else {
db.collection(object.collection).find(object.field).toArray(function(err, docs) {
assert.equal(err, null);
db.close();
result = docs;
});
}
});
return result
}
Wenn ich diese Methode aufrufen, die Teil einer Klasse ist, Rückkehr wird vor Ergebniszuweisung genannt, als normal . Beispiel: console.log(read(obj))
gibt undefined zurück
Die Idee ist, Wert in einer Variablen zu speichern, und Rückkehr möglicherweise warten, bis Verbindung beendet wird.
Gibt es eine Möglichkeit, dieses Problem zu lösen?
Verwenden Sie [Promice] (https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise) für das – MysterX
es könnte eine Idee sein .. aber wenn ich Promise verwende, muss ich extrahieren Ergebnis eines Versprechens (in dann Anruf) – Mau