JavaScript/Notes/Promises: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
m (Reverted edits by Javascript (talk) to last revision by 208.70.28.214)
 
(5 intermediate revisions by 2 users not shown)
Line 6: Line 6:
<source lang="javascript">
<source lang="javascript">
var img = new Image();
var img = new Image();
img.src = "https://www.google.com/images/srpr/logo11w.png?res";


var rejectTimer = setTimeout( function() {
var rejectTimer = setTimeout( function() {
Line 18: Line 16:
};
};


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


function resolve(msg) {  
function resolve(msg) {  
Line 25: Line 24:
   console.error(err);
   console.error(err);
};
};
</source>
</source>


Line 32: Line 32:
   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 42: 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>