еще вариант
function request(url) {
var promise = new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest;
xhr.open('GET', url);
xhr.onload = resolve;
xhr.onerror = function () {
reject(new Error(xhr.statusText));
};
xhr.send();
promise.abort = xhr.abort;
});
promise.abort = noop;
return promise;
}
promise.abort();
ну, т.е. крути как тебе надо)