J o: Programmfluss Node.js (asynchron) regeln

Beitrag lesen

Moin,

Ich bin noch nicht ganz so fit, was Promises angeht, aber mit Callbacks innerhalb einer for-Schleife ging das eben auch nicht.

Ohne jetzt genau gelesen zu haben sind Asynchhrone Schleifen eingentlich einfach umzusetzen.

asyncForEach: function ( obj, toDo, callback ) {
		var i = 0, k = Object.keys( obj ), v = Object.values( obj );
		
		function check ( b = false ) {
			i++;
			
			if ( i === Object.keys( obj ).length || b === true ) {
				if ( callback !== undefined ) {
					callback();
				}
			} else {
				toDo( k[i], v[i], check );
			}
		}
		
		toDo( k[i], v[i], check );
	}

So sieht jedenfalls meine asynchrone foreach Schleife aus. Ein aufruf wäre dann z.B.

module.asyncForEach( myObj, function ( key, value, check ) {
	// Do something
	check();
} , funcction(){
	// Do something when finished the loop
});

Aber zusätzlich ein Tipp: du solltest dich unbedingt mit einer anderen Datenbank auseinandersetzen. Für Node.js Apps solltest du z.B. MongoDB verwenden, nicht nur, dass es wesentlich performanter ist als MySQL sondern auch gleich den Vorteil hat, dass du die Objekte die du erzeugst/bearbeitest direkt in die DB schreibst und somit auch einfach wiederbekommst.

Gruß
Jo