Refactor deeply nested callbacks to Async/Await in Node.js
Description
Nested callbacks cause "Callback Hell". Async/Await syntax makes asynchronous code cleaner and easier to read.
Original Code (Outdated)
fs.readFile("data.txt", function(err, data) {
if (err) throw err;
processData(data, function(result) {
saveResult(result, function() {
console.log("Done");
});
});
});
Updated Code (Modern)
const data = await fs.promises.readFile("data.txt");
const result = await processData(data);
await saveResult(result);
console.log("Done");