Javascript异步编程方法之---“事件监听”

来源:互联网 发布:武器禁运中国知乎 编辑:程序博客网 时间:2024/05/21 11:09

另一种思路是采用事件驱动模式。任务的执行不取决于代码的顺序,而取决于某个事件是否发生。

还是以f1和f2为例。首先,为f1绑定一个事件(这里采用的jQuery的写法)。


f1.on('done', f2);


上面这行代码的意思是,当f1发生done事件,就执行f2。然后,对f1进行改写:


function f1(){setTimeout(function () {// f1的任务代码f1.trigger('done');
}, 1000);
}

f1.trigger('done') 表示,执行完成后,立即触发 done 事件,从而开始执行f2。


这种方法的优点是比较容易理解,可以绑定多个事件,每个事件可以指定多个回调函数,而且可以"去耦合"(Decoupling),有利于实现模块化。缺点是整个程序都要变成事件驱动型,运行流程会变得很不清晰。
0 0
原创粉丝点击