MEAN Stack – Verzögerung bei Abfrage und Anforderung?Java

Java-Forum
Anonymous
 MEAN Stack – Verzögerung bei Abfrage und Anforderung?

Post by Anonymous »

Ich versuche, Node.js zu lernen und eine Webanwendung mit dem MEAN-Stack zu schreiben.
Wenn ich ein Array von Zeichenfolgen mit Elementdaten (z. B. [„eins“, „zwei“, „drei“]) an die Serverseite sende, habe ich den folgenden Code, um das Array zu durchlaufen, zu prüfen, ob in MongoDB bereits ein Dokument mit dem Element vorhanden ist, und dann entsprechend neue Dokumente in zu erstellen Datenbank.
Serverseitiger Code:

Code: Select all

// items is an array of strings sent from the client side
for (var i = 0; i < items.length; i++) {
var item_name = items[i];

// For each item, find an existing one
Item.findOne({'name': item_name }, function(err, item) {
// If not already existing, add to database.
if (!item) {
var new_item = new Item();
new_item.name = item_name;

new_item.save(function(err) {
if (err) throw err;
});
}
});
}
}
Das Problem besteht darin, dass new_item.name immer dem letzten Element im Array entspricht, also „drei“.
Ich vermute, dass die Abfrage in der Datenbank länger dauert als die Schleife. Wenn wir uns also im Rückruf von findOne() befinden, haben wir bereits bis zum Ende des Arrays iteriert.
Ist das wahr? Wenn ja, wie könnte dieses Problem umgangen werden?
Ich verstehe, dass dies möglicherweise eine häufige Frage ist, die viele schon einmal gestellt haben, aber nach einiger Zeit der Suche bin ich immer noch nicht in der Lage, das Problem zu lösen. Bitte informieren Sie uns.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post