首页 > 试题广场 >

如何解决异步回调地狱

[问答题]
请你简要介绍一下解决异步回调地狱的方法
异步回调地狱是指代码横向增长(比如在Promise对象里面循环嵌套了多个Promise对象)而不是竖向增长,这样的代码就会显得很复杂而且逻辑会变得混乱,可怕的是会写出强耦合的异步代码,后期修改的时候就嘿嘿嘿了。
解决方法:
1.用Promise的 .then 写成链式结构实现竖向增长
2.使用async await
3.使用Generator协程

发表于 2019-03-08 19:48:45 回复(0)
异步编程的解决方案有:回调函数、事件监听、发布订阅者、promise链式调用、generator、async/await。
传统的解决方案是使用回调函数,当请求逻辑复杂、层数过深时会导致回调地狱,不利于代码的维护。
promise作为异步编程的一种解决方案,但是当请求逻辑复杂时,promise会嵌套过多的异步代码,同样promise也会带来回调地狱的问题。
最佳方式是使用async/await的方式,他可以让我们以同步代码的书写方式去写异步代码,这是es6的语法
发表于 2020-08-10 20:18:54 回复(0)
1.用Promise的 .then 写成链式结构实现竖向增长 2.使用async await 3.使用Generator协程
发表于 2019-04-26 19:09:31 回复(0)
promise编程的then方法进行链式调用,或者generator遍历器,

发表于 2019-02-10 11:37:45 回复(0)
Promise链式调用,或者async await异步回调
发表于 2019-01-01 19:02:07 回复(0)