,浏览器会悄悄向服务端发送若干http请求,携带后台可识别的参数,等待服务器响应返回数据,这个过程是异步回调的,当许多功能需要连续调用,环环相扣依赖时,它就类似下面的代码,代码全部一层一层的嵌套,看起来就很庞大...处理每一个错误
有不同类型的错误:由程序员造成的语法错误(通常在你尝试首次运行程序时发生),程序员造成的运行时错误(代码已运行但存在导致某些事情混乱的错误),平台错误由无用的文件权限,硬盘驱动器故障,无网络连接等引起的...你所要做的就是在你的代码文件夹中运行$ standard,它会向你显示你的代码中的每一个回调,并带有未处理的错误
概要
不要嵌套功能。...请注意,这些可能会引入性能和/或跨平台运行时兼容性问题
Promises:是编写异步代码的一种方式,它仍然以自顶向下的方式执行,并且由于鼓励使用try / catch样式错误处理而处理更多类型的错误
Generators...Async functions异步函数是一个建议的ES7功能,它将以更高级别的语法进一步包装生成器和继承
总结
回调地狱最主要的就是因为功能逻辑代码嵌套的层次太多,导致可读性降低,维护困难,避免回调地狱的最重要的方面是将功能移开