Summary
In this chapter, we first learnt the difference between synchronous and asynchronous code. Then we explored how to use the callback and the event emitter patterns to deal with some basic asynchronous scenarios. We also learned the main differences between the two patterns and when one is more suitable than the other to address a specific problem. We just made the first steps toward more advanced asynchronous patterns.
In the next chapter we will have a look at more complex scenarios, learning how to leverage the callback and the event emitter patterns to deal with advanced asynchronous control flows.