Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
</body>
</html>
 
request('https://www.reddit.com/r/proceduralgeneration/about.json')
  .then(x => {
  console.log('Response length: ', x.length, x.substring(0, 100) + '...');
}).catch((err) => {
  console.log('Failed response: ', err);
})
function request(url, options) {
  if (!options) options = {};
  return new Promise(download);
  function download(resolve, reject) {
    var req = new XMLHttpRequest();
    if (typeof options.progress === 'function') {
      req.addEventListener("progress", updateProgress, false);
    }
    req.addEventListener("load", transferComplete, false);
    req.addEventListener("error", transferFailed, false);
    req.addEventListener("abort", transferCanceled, false);
    req.open('GET', url);
    if (options.responseType) {
      req.responseType = options.responseType;
    }
    req.send(null);
    function updateProgress(e) {
      if (e.lengthComputable) {
        options.progress({
          loaded: e.loaded,
          total: e.total,
          percent: e.loaded / e.total
        });
      }
    }
    function transferComplete() {
      if (req.status !== 200) {
        reject("Unexpected status code ".concat(req.status, " when calling ").concat(url));
        return;
      }
      var response = req.response;
      if (options.responseType === 'json' && typeof response === 'string') {
        // IE
        response = JSON.parse(response);
      }
      resolve(response);
    }
    function transferFailed() {
      reject("Failed to download ".concat(url));
    }
    function transferCanceled() {
      reject("Cancelled download of ".concat(url));
    }
  }
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anvakapro
0viewers