или создай класс для создания ассинхронных API к чему либо)) 'bv классом можно будет конструировать апихи ^_^
// поехали
  function API( props ) {
    /* подумай что сюда нужно написать =) тут вся магия */
  }
  var api = new API( {
    url: 'api.php',
    getComments: function( resolve, reject ) {
      var http = new XMLHttpRequest();
      http.onerror = function() {
        reject();
      };
      http.onload = function() {
        if (http.status === 200) {
          resolve();
        }
        else {
          reject();
        }
      };
      http.open( 'GET', this.url + '?comments' );
      http.send( null );
    }
  } );