fetch w/abort

by jib1

HTML

<div id="div" style="white-space: pre;"></div>

JavaScript

var console = { log: msg => div.innerHTML += msg + "<br>" };

// Works in Firefox 55 behind the following about:config prefs:
// dom.fetchController.enabled = true
// dom.fetchObserver.enabled = true

async function foo(signal) {
  try {
    let url = 'https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js';
    let response = await fetch(url, {signal});
    console.log('response ' + (await response.text()).length);
  } catch(err) {
    console.log(err);
  }
}

let control = new FetchController();
foo(control.signal);
setTimeout(() => control.abort(), 10); // lower value until it aborts