JavaScript/Notes/Promises: Difference between revisions
Jump to navigation
Jump to search
Created page with "Promises are a new addition to ECMAScript. See: http://www.html5rocks.com/en/tutorials/es6/promises/ https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects ..." |
|||
| Line 3: | Line 3: | ||
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects | https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects | ||
== Example == | == Example with no Promise == | ||
<source lang="javascript"> | |||
var img = new Image(); | |||
img.src = "https://www.google.com/images/srpr/logo11w.png?res"; | |||
var rejectTimer = setTimeout( function() { | |||
reject(Error("It broke")); | |||
}, 4 * 1000); | |||
img.onload = function() { | |||
clearTimeout(rejectTimer); | |||
resolve("Stuff worked!"); | |||
}; | |||
function resolve(msg) { | |||
console.log(msg); | |||
} | |||
function reject(err) { | |||
console.error(err); | |||
}; | |||
</source> | |||
== Example with Promise == | |||
<source lang="javascript"> | <source lang="javascript"> | ||
var promise = new Promise(function(resolve, reject) { | var promise = new Promise(function(resolve, reject) { | ||
Revision as of 11:44, 9 March 2014
Promises are a new addition to ECMAScript. See: http://www.html5rocks.com/en/tutorials/es6/promises/ https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects
Example with no Promise
<source lang="javascript"> var img = new Image();
img.src = "https://www.google.com/images/srpr/logo11w.png?res";
var rejectTimer = setTimeout( function() {
reject(Error("It broke"));
}, 4 * 1000);
img.onload = function() { clearTimeout(rejectTimer); resolve("Stuff worked!"); };
function resolve(msg) {
console.log(msg);
} function reject(err) {
console.error(err);
}; </source>
Example with Promise
<source lang="javascript"> var promise = new Promise(function(resolve, reject) {
var img = new Image();
img.src = "https://www.google.com/images/srpr/logo11w.png?sss"; var rejectTimer = setTimeout( function() { reject(Error("It broke")); }, 4 * 1000);
img.onload = function() {
clearTimeout(rejectTimer);
resolve("Stuff worked!");
}
});
promise.then(
function(msg) {
console.log(msg);
},
function(err) {
console.error(err);
}); </source>