> 电脑数码
什么是回调函数回调函数有什么缺点如何判断(啥是回调函数)
导语:什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?
回调函数应该是经常使用到的,以下代码就是一个回调函数的例子:
ajax(url, () => { // 处理逻辑})
但是回调函数有一个致命的弱点,就是容易写出回调地狱(Callback hell)。假设多个请求存在依赖性,你可能就会写出如下代码:
ajax(url, () => { // 处理逻辑 ajax(url1, () => { // 处理逻辑 ajax(url2, () => { // 处理逻辑 }) })})
以上代码看起来不利于阅读和维护,当然,你可能会想说解决这个问题还不简单,把函数分开来写不就得了
以上的代码虽然看上去利于阅读了,但是还是没有解决根本问题。
回调地狱的根本问题就是:
嵌套函数存在耦合性,一旦有所改动,就会牵一发而动全身嵌套函数一多,就很难处理错误当然,回调函数还存在着别的几个缺点,比如不能使用 try catch 捕获错误,不能直接 return。
解决:1.Generator
2.Promise
3.async 及 await
本文内容由快快网络小媛创作整理编辑!