我们习惯于使用传统的回调或事件处理来解决异步问题
事件:某个对象的属性是一个函数,当发生某一件事时,运行该函数
dom.onclick= function() {
}
回调:运行某个函数以实现某个功能的时候,传入一个函数作为参数,当发生某件事的时候,会运行该函数
dom.addEventListener("onclick", function() {
});
本质上,事件和回调并没有本质的区别,只是把函数放置的位置不同而已
但是,当前端工程越来越复杂
该模式有以下两个问题
1、某个异步操作需要等待之前的异步操作完成,无论用回调还是事件,都会陷入不断的嵌套
2、异步之间的联系:某个异步操作要等待多个异步操作的结果,对这种联系的处理,会让代码的复杂度剧增
网友评论