Is the following a statement of best practices in Node.js with regard to web applications? If not, how could it be improved?
The statement
The lifecycle of any web app has at least two phases: a setup phase, and a ready phase (when the application is ready to respond to requests.)
In the ready phase,
IO operations (disk access, database calls, etc.) should always be asynchronous/non-blocking.
Even operations that occur purely in memory should be asynchronous. This is especially true when the operations involve iteration, and especially^2 true when the upper limit on the number of iterations is unknown.
Synchronous/blocking operations should never be performed in response to a request.
I do not believe this question is out-of-bounds for Stackoverflow. In my mind, the question of whether or not something is part of the best practices for developing in a certain programming language can be answered decisively based on experience and objective criteria.