promise

by rana777

JavaScript

var url = "https://davids-restaurant.herokuapp.com/categories.json";

function get(url) {
  //return a new promise
  return new Promise(function(resolve, reject) {
    var req = new XMLHttpRequest();
    req.open('GET', url);
    req.onload = function() {
      if (req.status == 200) {
        //resolve the promise with the response text
        resolve(req.response);
      } else {
        reject(Error(req.statusText));
      }

    };
    //Handle network errors
    req.onerror = function() {
      reject(Error('Network Error!!!!'))
    };
    //Make the request
    req.send();

  });

}

//use it!
get(url).then(function(response) {
  console.log("Success!", response);
}, function(error) {
  console.error("Failed!!", error)
})