Verwenden einer anonymen Callback-Funktion - AWS SDK for JavaScript

Wir haben das Kommende end-of-support für AWS SDK for JavaScript v2 angekündigt. Wir empfehlen Ihnen, auf AWS SDK for JavaScript Version 3 zu migrieren. Termine, weitere Details und Informationen zur Migration finden Sie in der verlinkten Ankündigung.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden einer anonymen Callback-Funktion

Jede Service-Objektmethode, die ein AWS.Request-Objekt erstellt, kann eine anonyme Callback-Funktion als letzten Parameter annehmen. Die Signatur dieser Callback-Funktion lautet:

function(error, data) { // callback handling code }

Diese Callback-Funktion wird ausgeführt, wenn entweder eine erfolgreiche Antwort oder Fehlerdaten zurückgegeben werden. Wenn der Methodenaufruf erfolgreich war, wird der Callback-Funktion der Inhalt der Antwort im data-Parameter bereitgestellt. Wenn der Aufruf nicht erfolgreich war, werden die Details über den Fehler im error-Parameter angegeben.

In der Regel prüft der Code innerhalb der Callback-Funktion, ob ein Fehler vorliegt, den er verarbeitet, wenn ein Fehler zurückgegeben wird. Wenn kein Fehler zurückgegeben wird, ruft der Code die Antwortdaten vom data-Parameter ab. Die grundlegende Form der Callback-Funktion sieht wie folgt aus.

function(error, data) { if (error) { // error handling code console.log(error); } else { // data handling code console.log(data); } }

Im vorherigen Beispiel werden die Details zum Fehler oder die zurückgegebenen Daten in der Konsole protokolliert. Hier finden Sie ein Beispiel für eine Callback-Funktion, die als Teil des Aufrufs einer Methode in einem Service-Objekt zurückgegeben wird.

new AWS.EC2({apiVersion: '2014-10-01'}).describeInstances(function(error, data) { if (error) { console.log(error); // an error occurred } else { console.log(data); // request succeeded } });

Zugreifen auf die Anforderungs- und Antwortobjekte

Innerhalb der Callback-Funktion this bezieht sich das JavaScript Schlüsselwort für die meisten Dienste auf das zugrunde liegende AWS.Response Objekt. Im folgenden Beispiel wird die httpResponse-Eigenschaft eines AWS.Response-Objekts innerhalb einer Callback-Funktion für die Protokollierung der unformatierten Antwortdaten und -Header verwendet, um das Debugging zu erleichtern.

new AWS.EC2({apiVersion: '2014-10-01'}).describeInstances(function(error, data) { if (error) { console.log(error); // an error occurred // Using this keyword to access AWS.Response object and properties console.log("Response data and headers: " + JSON.stringify(this.httpResponse)); } else { console.log(data); // request succeeded } });

Da das AWS.Response-Objekt über eine Request-Eigenschaft verfügt, die das AWS.Request-Objekt enthält, das vom ursprünglichen Methodenaufruf gesendet wurde, können Sie außerdem auf die Details der Anforderung zugreifen.