回调地狱不就是把异步变成同步吗,为啥不在一开始就直接写成同步的代码,我的理解有问题吗
有问题,回调地狱跟异步变成同步没关系
如果全是同步,确实是没有回调地狱。但是js在设计上就是异步的,很多方法的调用都是通过回调的方式,比如setTimeout click等等
1.因为javascript是单线程的,所以有些需要等待的地方,需要使用回调函数。2.由于某些业务的问题,在代码中会一次性写会多层的回调嵌套,回调嵌套后的代码的维护难度,和无法排除bug。这个就被称作回调地狱
回调是只异步操作完成后调用函数做后续逻辑处理,异步之所以为异步,就是它需要花费时间并不是即时响应
如去饭店吃饭,点餐,需要等饭好后才能吃到饭,从点餐->(异步)后厨做饭->吃到饭(回调)