Skip to content

Instantly share code, notes, and snippets.

@robbestad
Last active August 16, 2016 18:16
Show Gist options
  • Select an option

  • Save robbestad/34d74aa97624987547ec8032275263de to your computer and use it in GitHub Desktop.

Select an option

Save robbestad/34d74aa97624987547ec8032275263de to your computer and use it in GitHub Desktop.
// Vi bruker samme get-funksjon som i forrige eksempel
function get(path) {
return new Promise((resolve, reject) => {
var request = new XMLHttpRequest();
// Ved suksess sendes responsen til resolve()
request.addEventListener('load', (e) => {
resolve(JSON.parse(e.target.responseText));
});
// Ved feil sendes responsen til reject()
request.addEventListener('error', (e) => {
reject(e.target.statusText || 'unknown error');
});
// Ved abort sender til bare til resolve()
request.addEventListener('abort', resolve);
request.open('get', path);
request.send();
});
}
console.time('get');
let promises = [];
promises.push(get('//jspromises.herokuapp.com/search/promises'));
promises.push(get('//jspromises.herokuapp.com/search/js'));
Promise.all(promises).then((value) => {
console.timeEnd('get');
document.querySelector(".result")
.appendChild(document.createElement('div'))
.textContent = value[0].results[0].text;
document.querySelector(".result")
.appendChild(document.createElement('div'))
.textContent = value[1].results[0].text;
}).catch((error)=> {
console.timeEnd('get');
console.error(error);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment