Da ich gerade await und async lese. Man kann in Javascript auch aus asynchronen Methoden "Pseudosynchrone" machen. Normalerweise wird mit asynchronen Methoden so gearbeitet, dass man Callbacks (Methoden) übergibt die am Ende der asynchronen Methode dann aufgerufen werden. Dies führt dazu, dass wenn mann damit oft hantieren muss, der Code sehr unübersichtlich wird.
Wie das aussehen kann:
Hier am Beispiel von readFile(), klar dass es auch readFileSync() gibt, aber es geht ja nur um's Beispiel. Entscheidend ist dabei, dass der Code nicht tatsächlich synchron abläuft, sondern einfach die Lesbarkeit vom Code verbessert wird. Der Funktionsaufruf in Main ttt(), kommt sofort zurück. Der Ablauf in der Funktion ttt() kann man sich als synchron denken. D.h. readSync() kommt erst zurück wenn die Datei gelesen wurde. Die Rückgabe der Daten erfolgt dabei per Promise-Object und resolve().
Man kann auch Main selbst synchron machen, dazu muss es entsprechend umklammert werden.
Mehr dazu: https://www.heise.de/developer/artikel/a...33105.html
Wie das aussehen kann:
Code:
var fs = require ('fs');
const readSync = async function () {
return new Promise(resolve => {
fs.readFile("Dateiname", (err, data) => {
resolve (data);
});
});
};
const ttt = async function ()
{
....
var res = await readSync ();
...
}
ttt ();
Man kann auch Main selbst synchron machen, dazu muss es entsprechend umklammert werden.
Mehr dazu: https://www.heise.de/developer/artikel/a...33105.html
__________________
Kinder wollen nicht wie Fässer gefüllt, sondern wie Fackeln entzündet werden.