Ich verwende jQuery in einem Discord-Javascript-Bot, und irgendwann hole ich Daten aus dem Internet, um eine Zeichenfolge aus den abgerufenen Daten zu erstellen.Daten können nicht aus der JSON-Funktion abgerufen werden
es hier, wie es aussieht:
var jsonFinal = '';
var oembed_url = 'http://backend.deviantart.com/oembed?url=http%3A%2F%2Ffav.me%2Fd2enxz7&format=jsonp&callback=?';
$.getJSON(oembed_url, function(data) {
jsonFinal = "("+data.author_name+")\n"+data.url;
console.log(jsonFinal);
});
console.log(jsonFinal):
Wie Sie sehen können, die var „jsonFinal“, die am Ende alle Daten enthalten soll, leer initialisiert. Aber was tatsächlich passiert, ist, dass das jsonFinal die gewünschte Information bei der ersten console.log enthält (innerhalb der Funktion), aber bei der zweiten console.log wieder Null wird [es zeigt nichts an].
Das bedeutet entweder die Variable jsonFinal wird zwischen den beiden console.log abgewischt, oder das sind zwei verschiedene Variablen mit den gleichen Namen: aber ich bekomme nicht die Informationen aus "jsonFinal" aus der Funktion .getJson.
Wie kann ich tun?
Mögliches Duplikat [Wie kann ich die Antwort von einem asynchronen Aufruf zurückkehren?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an -asynchroner Anruf) –
http://stackoverflow.com/questions/10456410/global-variable-in-javascript-not-set-when-using-getjson –
http://stackoverflow.com/questions/3537434/cant- get-correct-return-value-from-ein-jquery-ajax-call –