Summary
At the beginning of this chapter, we said that Node.js programming can be tough because of its asynchronous nature, especially for people used to developing on other platforms. However, throughout this chapter we showed how asynchronous APIs can be bent to our will, starting with plain JavaScript, which provided us the foundation for the analysis of more sophisticated techniques. We then saw that the tools at our disposal are indeed variegated and provide good solutions to most of our problems, in addition to offering a programming style for every taste; for example, we may choose async
to simplify the most common flows.
This chapter served as an introduction to more advanced techniques, such as promises and generators, that will be the main focus of the next chapter. When you know all these techniques, you will be able to choose the best solution for your needs or use many of them together in the same project.