异步任务按顺序执行的问题
来源:4-2 Ajax原理与Callback Hell
悟空338
2021-08-16
异步任务的任务队列不是先进先出原则吗?为什么不能按顺序写,然后程序顺序执行读取abc,而一定要把后面的任务嵌套进前面的任务里呢?
写回答
1回答
-
从问题上看,对异步操作还需要重新认识,比如:
ajax1()
ajax2()
上面每一行代码代表一个异步操作的话,ajax2并不是等到ajax1执行完才执行,异步的意思就是说需要执行一会,但执行多久是不确定的,可能取决于网络情况、服务器响应速度等等。
如果按照上面这样写的话,ajax1请求发出去,不会等到结果返回就会直接执行ajax2。
如果想等到ajax1的结果返回之后,再执行ajax2,就需要将ajax2写到ajax1的回调中。当然后面也会学习到async/await的用法,可以继续往后看视频。
012021-08-17
相似问题