JavaScript Demande d'API asynchrone


Exemple

Ceci est un exemple d'un simple appel d'API GET enveloppé d'une promesse de tirer parti de ses fonctionnalités asynchrones.

var get = function(path) {
  return new Promise(function(resolve, reject) {
    let request = new XMLHttpRequest();
    request.open('GET', path);
    request.onload = resolve;
    request.onerror = reject;
    request.send();
  });
};

Une gestion des erreurs plus robuste peut être effectuée à l'aide des fonctions onload et onerror suivantes.

request.onload = function() {
  if (this.status >= 200 && this.status < 300) {
    if(request.response) {
      // Assuming a successful call returns JSON
      resolve(JSON.parse(request.response));
    } else {
      resolve();
  } else {
    reject({
      'status': this.status,
      'message': request.statusText
    });
  }
};

request.onerror = function() {
  reject({
    'status': this.status,
    'message': request.statusText
  });
};