Developers who are new to Node.js will have to start thinking in terms of asynchronous non-blocking code rather than synchronous blocking code. For many, this is the biggest disadvantage of switching to Node.js. You need to be careful while writing async code because if you accidentally write a synchronous piece of code it'll block the main thread (as it's single threaded) which in turn affects the performance of your app.
If you are from Java/Python etc you will have a hard time dealing with nested callbacks. Promises can solve this problem to a small extent, but not fully. You will still miss your callback free cleaner code.
But if you love JavaScript and are able to think clearly in terms of asynchronous programming, then you are going to love Node.js.
@sandeep Thank you!! I got to understand now