Callback — function passed as argument. Promise — object representing async operation.
Callback:
1// Callback pattern2fs.readFile("file.txt", "utf8", (err, data) => {3 if (err) {4 console.error(err);5 return;6 }7 console.log(data);8});
Promise:
1// Promise pattern2const promise = new Promise((resolve, reject) => {3 fs.readFile("file.txt", "utf8", (err, data) => {4 if (err) reject(err);5 else resolve(data);6 });7});89promise10 .then(data => console.log(data))11 .catch(err => console.error(err));
Key differences: