Home / Shopify / Was ist eine „async“-Funktion?

Eine async-Funktion ist eine Funktion, die mit dem async-Schlüsselwort versehen wurde, wobei das await-Schlüsselwort darin zulässig ist. Die Schlüsselwörter async und await ermöglichen es, asynchrones, promise-basiertes Verhalten in einem saubereren Stil zu schreiben, wodurch die Notwendigkeit vermieden wird, Zusagenketten explizit zu konfigurieren.

async/await bauen auf Promises auf: Eine async-Funktion gibt immer einen Promise zurück. await „entpackt“ eine Zusage und führt entweder zu dem Wert, mit dem die Zusage gelöst wurde, oder löst einen Fehler aus, wenn die Zusage abgelehnt wurde.

Warum müssen wir die async-Funktionen verwenden?

Wir müssen sie verwenden, weil sie es Ihnen ermöglichen, promise-basierten Code so zu schreiben, als wäre er synchron, ohne jedoch den Hauptthread zu blockieren. Sie machen Ihren asynchronen Code weniger „clever“ und lesbarer.

Beispiel:

async function firstAsyncFunction() {
try {
const fulfilledValue = await promise;
}
catch (rejectedValue) {
// …
}
} 

Wie gebe ich einen Wert von einer asynchronen Funktion zurück?

Wenn Sie das async-Schlüsselwort vor einer Funktionsdefinition verwenden, können Sie await innerhalb der Funktion verwenden. Wenn Sie auf einen Promise warten, wird die Funktion nicht blockierend angehalten, bis sich das Versprechen eingependelt hat. Wenn der Promise erfüllt wird, erhalten Sie den Wert zurück. Wenn der Promise abgelehnt wird, so wird der abgelehnte Wert ausgelöst.

Beispiel:

async function callAsyncFunction(name){
return new Promise((resolve, reject) => {
resolve(`My name is ${name}`)
})
} 

async function getName(name){
const result = await callAsyncFunction(name);
return result;
}

(async () => {
console.log(await getName(‚Blerona Idrizi‘))
})()

Das Ergebnis wird sein: My Name ist Blerona Idrizi

Wenn Sie mehr über E-Commerce-Entwicklungsplattformen oder Apps erfahren möchten, lesen Sie unsere Lexika für Shopify und Shopware. Unser engagiertes Outsourcing-Team kann Ihr Partner im E-Commerce sein. 

Arrange a free consultation now!