J'utilise la fonction de promesse pour promettre XHR et j'aimerais savoir comment obtenir la réponse, et la renvoyer au serveur si la réponse est réussie.Utilisation du constructeur de promesses pour renvoyer une valeur au serveur
que je fais quelque chose si ce createChannel réussir comme ça
function createChannel(method, url) {
return new Promise(function (resolve, reject) {
xhr.open(method, url, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onload = function() {
if (xhr.readyState == 4) {
var hashValue = resolve(JSON.parse(xhr.responseText));
console.log(hashValue);
}
else {
reject({
status: this.status,
statusText: xhr.statusText
});
}
};
xhr.onerror = function() {
reject({
status: this.status,
statusText: xhr.statusText
});
};
xhr.send(json);
});
}
createChannel(method, url)
.then(function (datums) {
console.log(datums)
}).catch(function (err) {
console.error('Sorry There Was An Error!', err.statusText);
});
, j'aimerai prendre la variable valeur de hachage, et faire une demande au serveur pour obtenir une nouvelle valeur.
.then(function (createChannel) {
console.log(createChannel);
});
est-ce possible en utilisant la promesse? Merci pour le conseil.
On ne sait pas ce que « l'envoyer à nouveau » signifie? Lorsque vous obtenez la promesse résolue et obtenez votre valeur 'datums' dans le gestionnaire' .then() ', que voulez-vous faire à ce moment-là? – jfriend00
hey @ jfriend00 désolé pour mon choix de libellés, je voudrais faire une nouvelle demande au serveur/url quand je reçois la promesse résolue. Je veux prendre la variable de hachage et faire une nouvelle demande de poste – PythonRookie
OK, je l'ai montré dans ma réponse. – jfriend00