官术网_书友最值得收藏!

Managing concurrency

Simplifying control flows has been a concern of the Node community since the very beginning of the project. Indeed, this potential criticism was one of the very first anticipated by Ryan Dahl, who discussed it at length during the talk in which he introduced Node to the JavaScript developer community.

Because deferred code execution often requires the nesting of callbacks within callbacks, a Node program can sometimes begin to resemble a sideways pyramid, also known as The Pyramid of Doom. You've seen it: deeply nested code, 4 or 5 or even more levels deep, curly braces everywhere. Apart from syntactical annoyances, you can also imagine that tracking errors across such a call stack might be difficult—if a callback at the third level throws, who is responsible for handling that error? The second level? Even if level 2 is reading a file and level 3 is querying a database? Does that make sense? It can be hard to make sense of asynchronous program flows.

主站蜘蛛池模板: 镇安县| 郧西县| 文安县| 泾川县| 大悟县| 石景山区| 钟祥市| 嘉义市| 阜宁县| 湘乡市| 关岭| 阳高县| 资兴市| 门源| 宜城市| 冕宁县| 琼海市| 五峰| 始兴县| 庆元县| 南雄市| 石阡县| 揭东县| 惠安县| 抚松县| 大余县| 吕梁市| 曲周县| 兴海县| 来凤县| 无为县| 连山| 新乡市| 永靖县| 垦利县| 凉城县| 通城县| 赫章县| 呼伦贝尔市| 望都县| 舞钢市|