issues
search
xv777
/
Blog
my Blog
0
stars
0
forks
source link
异步解决方案
#2
Open
xv777
opened
4 years ago
xv777
commented
4 years ago
异步解决方案
回调函数 缺点:回调地狱(太多的的if,太多的{},导致维护,看起来很难受,就是回调地狱),不能try,catch捕捉错误,不能return 优点:解决了同步的问题(只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行) 回调地狱:缺乏顺序性:回调函数导致的调试困难;嵌套函数存在耦合性,一旦有所改动,就回去牵一发而动全身;嵌套函数过多,很难处理错误
Promise promise就是为了解决callback的问题而产生的 promise实现了链式调用,也就是说每次then之后都是一个全新的promise,如果我们在then中return,return的结果会被promise.resolve()包装 优点:解决了回调地狱的问题 缺点:无法取消promise,错误需要通过回调函数来捕捉,错误会一直传到链尾,不一定清除错误来源
async await async,await是异步的终极解决方案 优点:代码清晰,不用像promise写一大堆的then链,处理了回调地狱的问题 缺点:await将同步代码改造为同步代码,如果多个异步操作没有依赖性而使用await会导致性能上的降低
异步解决方案