前言:
我们都知道在Promise等异步技术还没出现时,回调函数是实现异步的重中之重。很多人知道使用回调函数,却不知回调函数出现的作用主要是实现异步。但随着现在应用越来越复杂强大,回调函数在异步处理中已然是不够用了,尽管还是很多人坚持认为回调函数够用。
本博客主要谈谈回调函数的两个缺陷:
- 缺乏顺序性
- 缺乏可信任性
1.缺乏顺序性
看下面伪代码(嵌套回调):
listen("click",function handler(evt){
setTimeout(function request(){
ajax("http://url1",function response(text){
if(text=="hello"){
handler();
}else if(text=="world"){
request();
}
}