JS - Promises - XHRHttpRequest

by Zacc206

HTML

<div id="console-log"></div>

JavaScript

console = {
    log: function (text) {
    		var consoleLine = document.createElement('p');
    		consoleLine.innerHTML = text;
        document.getElementById("console-log").appendChild(consoleLine);
    }
};

var app = (function(){
  var url = "https://jsonplaceholder.typicode.com/posts/1";
  
  var urlGet = function(url){
    return new Promise(function(resolve, reject){
      var xhr = new XMLHttpRequest();
      xhr.open('GET', url);

      xhr.onload = function(){
        if(xhr.status === 200){
          resolve(xhr.response);
        } else {
          reject(Error(xhr.statusText));
        }
      };

      xhr.onerror = function(){
        reject(Error("Network error."));
      };

      xhr.send();
    });
  };
  
  var urlGetSuccess = function(result){
  	console.log(result);
  };
  
  var urlGetError = function(error){
  	console.log(error);
  };
  
  var init = function(){
  	urlGet(url).then(urlGetSuccess, urlGetError);
  };
  
  return {
  	init: init
  };
})();

app.init();