Skip to content

Instantly share code, notes, and snippets.

@peterforgacs
Created July 28, 2016 16:40
Show Gist options
  • Save peterforgacs/f725ccc1666b67d96ce5a4a4214e7ca8 to your computer and use it in GitHub Desktop.
Save peterforgacs/f725ccc1666b67d96ce5a4a4214e7ca8 to your computer and use it in GitHub Desktop.
Callbacks vs Promises
'use strict';
var FS = require('fs');
// Callback version
FS.readFile('file.txt', 'utf8', function (err, data) {
if (err) throw err;
console.log('File has been read:', data);
console.log
});
console.log('After readFile.');
// Promise wrapper version
function readfile(filename) {
return new Promise(function (resolve, reject) {
FS.readFile('file.txt', function (err, data) {
if (err) {
reject(err);
}
resolve(String(data));
});
});
}
// Calling the promise wrapper version
readfile('file.txt')
.then(function (data) {
console.log(`File has been read: ${data}`);
return (data);
})
.then(function (param) {
console.log(`After passing to the next ${param}`);
})
.catch(function (error) {
console.log('Error has happened:', error);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment