Promises are considered to be better than callbacks in Node.js for several reasons. these are:
Better error handling: Promises provide a more structured way to handle errors, making it easier to identify and fix bugs in your code. With callbacks, errors are often passed as the first argument, which can be easy to overlook or mishandle.
Improved readability: Promises make it easier to read and understand the flow of asynchronous code. With callbacks, it can be difficult to follow the execution order of multiple nested callbacks, leading to callback hell.
Simplified control flows: Promises allow you to chain multiple asynchronous operations together, making it easier to control the flow of your code. With callbacks, you often have to nest them, which can lead to complex and hard-to-maintain code.
Support for async/await: Promises are the foundation of the new async/await syntax, which makes it easy to write asynchronous code that looks like synchronous code.
Better composability: Promises can be composed together in a more natural way, making it easier to build complex asynchronous code.