Wert ist nicht ersetzen und Funktion zurückgeben 0. Wie es zu beheben? (reagieren-native 0,30, IOS 10.0 Simulator)Wie kann ich XMLHttpRequest Antwort von Funktion zurückgeben?
export function getCategoryList() {
var xhr = new XMLHttpRequest();
jsonResponse = null;
xhr.onreadystatechange = (e) => {
if (xhr.readyState !== 4) {
return;
}
if (xhr.status === 200) {
console.log('SUCCESS', xhr.responseText);
jsonResponse = JSON.parse(xhr.responseText);
} else {
console.warn('request_error');
}
};
xhr.open('GET', 'https://httpbin.org/user-agent');
xhr.send();
return jsonResponse;
}
Die Anforderung ist asynchron, was bedeutet, dass die Anforderung, gesendet wird Ihre Funktion gibt einen Nullwert und dann abgeschlossen einige Zeit später wird die Anfrage. Sehen Sie sich eine Callback-Funktion in 'getCategoryList()' (einfach) oder verspricht (etwas schwieriger, aber nicht viel). – Archer
Lesen: http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – Cherniv
Sie sollten nach [Versprechen] suchen (https: //developer.mozilla .org/de-DE/docs/Web/JavaScript/Referenz/Global_Objects/Promise) –