Skip to content

Instantly share code, notes, and snippets.

Created September 28, 2016 14:40
Show Gist options
  • Save anonymous/2314a121955f2690e5dd210533f5d84f to your computer and use it in GitHub Desktop.
Save anonymous/2314a121955f2690e5dd210533f5d84f to your computer and use it in GitHub Desktop.
JS Bin // source http://jsbin.com/weyedimobo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
if (window.Promise) {
console.log('Promise found');
var promise = new Promise(function(resolve, reject) {
var request = new XMLHttpRequest();
request.open('GET', 'http://api.icndb.com/jokes/random');
request.onload = function() {
if (request.status == 200) {
resolve(request.response); // we got data here, so resolve the Promise
} else {
reject(Error(request.statusText)); // status is not 200 OK, so reject
}
};
request.onerror = function() {
reject(Error('Error fetching data.')); // error occurred, reject the Promise
};
request.send(); //send the request
});
console.log('Asynchronous request made.');
promise.then(function(data) {
console.log('Got data! Promise fulfilled.');
document.getElementsByTagName('body')[0].textContent = JSON.parse(data).value.joke;
}, function(error) {
console.log('Promise rejected.');
console.log(error.message);
});
} else {
console.log('Promise not available');
}
</script>
<script id="jsbin-source-javascript" type="text/javascript">if (window.Promise) {
console.log('Promise found');
var promise = new Promise(function(resolve, reject) {
var request = new XMLHttpRequest();
request.open('GET', 'http://api.icndb.com/jokes/random');
request.onload = function() {
if (request.status == 200) {
resolve(request.response); // we got data here, so resolve the Promise
} else {
reject(Error(request.statusText)); // status is not 200 OK, so reject
}
};
request.onerror = function() {
reject(Error('Error fetching data.')); // error occurred, reject the Promise
};
request.send(); //send the request
});
console.log('Asynchronous request made.');
promise.then(function(data) {
console.log('Got data! Promise fulfilled.');
document.getElementsByTagName('body')[0].textContent = JSON.parse(data).value.joke;
}, function(error) {
console.log('Promise rejected.');
console.log(error.message);
});
} else {
console.log('Promise not available');
}</script></body>
</html>
if (window.Promise) {
console.log('Promise found');
var promise = new Promise(function(resolve, reject) {
var request = new XMLHttpRequest();
request.open('GET', 'http://api.icndb.com/jokes/random');
request.onload = function() {
if (request.status == 200) {
resolve(request.response); // we got data here, so resolve the Promise
} else {
reject(Error(request.statusText)); // status is not 200 OK, so reject
}
};
request.onerror = function() {
reject(Error('Error fetching data.')); // error occurred, reject the Promise
};
request.send(); //send the request
});
console.log('Asynchronous request made.');
promise.then(function(data) {
console.log('Got data! Promise fulfilled.');
document.getElementsByTagName('body')[0].textContent = JSON.parse(data).value.joke;
}, function(error) {
console.log('Promise rejected.');
console.log(error.message);
});
} else {
console.log('Promise not available');
}
@deepakkj
Copy link

Promise Example using API/JSON

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment