JavaScript/Notes/Promises: Difference between revisions

From Noisebridge
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 ...")
 
m (Reverted edits by Javascript (talk) to last revision by 208.70.28.214)
 
(6 intermediate revisions by 3 users not shown)
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();
 
var rejectTimer = setTimeout( function() {
  reject(Error("It broke"));
}, 4 * 1000);
 
img.onload = function() {
clearTimeout(rejectTimer);
resolve("Stuff worked!");
};
 
img.src = "https://www.google.com/images/srpr/logo11w.png?res";
 
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) {
   var img = new Image();
   var img = new Image();


  img.src = "https://www.google.com/images/srpr/logo11w.png?sss";
    
    
   var rejectTimer = setTimeout( function() {
   var rejectTimer = setTimeout( function() {
Line 18: Line 41:
   resolve("Stuff worked!");
   resolve("Stuff worked!");
   }
   }
  img.src = "https://www.google.com/images/srpr/logo11w.png?sss";
});
});



Latest revision as of 23:51, 10 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[edit]

<source lang="javascript"> var img = new Image();

var rejectTimer = setTimeout( function() {

 reject(Error("It broke"));

}, 4 * 1000);

img.onload = function() { clearTimeout(rejectTimer); resolve("Stuff worked!"); };

img.src = "https://www.google.com/images/srpr/logo11w.png?res";

function resolve(msg) {

	console.log(msg);

} function reject(err) {

 console.error(err);

};

</source>

Example with Promise[edit]

<source lang="javascript"> var promise = new Promise(function(resolve, reject) {

 var img = new Image();


 var rejectTimer = setTimeout( function() {
   reject(Error("It broke"));
 }, 4 * 1000);
 img.onload = function() {
 	clearTimeout(rejectTimer);
 	resolve("Stuff worked!");
 }
 img.src = "https://www.google.com/images/srpr/logo11w.png?sss";

});

promise.then(

function(msg) { 
	console.log(msg);
}, 
function(err) {
   console.error(err);

}); </source>