回调函数应该经常使用。以下代码是回调函数的示例。
ajax(url, ()={ //处理逻辑}) 然而回调函数有一个致命的弱点:很容易写出回调地狱。假设您在多个请求之间存在依赖关系,您可以编写以下代码:
ajax(url, ()={ //处理逻辑ajax(url1, ()={ //处理逻辑ajax(url2, ()={ //处理逻辑}) })})
当然,上面的代码似乎不利于阅读或维护,但您可能想知道解决这个问题是否不是那么简单。
虽然上面的代码看起来更容易阅读,但它仍然没有解决根本问题。
回调地狱的根本问题是:
嵌套函数具有绑定,这意味着所做的更改会影响整个函数体。当然,回调函数也有缺点,例如使错误处理变得困难。 Try catch 不允许直接返回错误。
解决:
1. 发电机
2. 承诺
3. 异步和等待
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/87180.html