Skip to content

Instantly share code, notes, and snippets.

@dtothefp
Created July 11, 2014 19:12
Show Gist options
  • Select an option

  • Save dtothefp/c66f527c08e77e53f03d to your computer and use it in GitHub Desktop.

Select an option

Save dtothefp/c66f527c08e77e53f03d to your computer and use it in GitHub Desktop.
node promises
function readImg(path) {
var deferred = Q.defer();
fs.readFile(path, function(err, original_data){
if(!err) {
deferred.resolve(original_data.toString('base64'));
} else {
deferred.reject(err);
}
});
return deferred.promise;
}
var latestScreen = readImg(this.options.indexPath + 'img/tmp/' + pictureName);
var previousScreen = readImg(this.options.indexPath + 'img/screens/' + pictureName);
Q.when(latestScreen, previousScreen).done(function(latest, previous) {
console.log("both resolved");
console.log(previous);
gm.compare(latest, previous, function (err, isEqual, equality, raw) {
if(err) console.log(err);
console.log('The images are equal: %s', isEqual);
});
});
@jordangarcia
Copy link

function readImg(path) {
  var deferred = Q.defer();
  fs.readFile(path, function(err, original_data){
    if(!err) {
      deferred.resolve({
         path: path,
         dataString: original_data.toString('base64')),
      });
    } else {
      deferred.reject(err);
    }
  });
  return deferred.promise;
}

var latestScreen = readImg(this.options.indexPath + 'img/tmp/' + pictureName);
var previousScreen = readImg(this.options.indexPath + 'img/screens/' + pictureName);

Q.when([latestScreen, previousScreen).done(function(results) {
  gm.compare(results[0].path, results[1].path, function (err, isEqual, equality, raw) {
      if(err) console.log(err);
      console.log('The images are equal: %s', isEqual);
  });
});

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