我们已知道回调函数是必须得依赖另一个函数执行调用,它是异步执行的,也就是需要时间等待,典型的例子就是Ajax应用,比如http请求,在不刷新浏览器的情况下,当你执行DOM事件时,比如页面上点击某链接,回车等事件操作...在这种情况下,gif可能需要很长时间才能下载,并且你不希望程序在等待下载完成时暂停
相反,你存储在功能下载完成后应运行的代码。这是回调!..., error)
else console.log('Download finished', photo)
}
console.log('Download started')
人们在尝试理解回调时遇到的最大障碍是理解程序运行时执行的顺序...处理每一个错误
有不同类型的错误:由程序员造成的语法错误(通常在你尝试首次运行程序时发生),程序员造成的运行时错误(代码已运行但存在导致某些事情混乱的错误),平台错误由无用的文件权限,硬盘驱动器故障,无网络连接等引起的...请注意,这些可能会引入性能和/或跨平台运行时兼容性问题
Promises:是编写异步代码的一种方式,它仍然以自顶向下的方式执行,并且由于鼓励使用try / catch样式错误处理而处理更多类型的错误
Generators