理解 JavaScript事件触发器模式

来源:互联网 发布:吴昕淘宝店铺网址 编辑:程序博客网 时间:2024/05/21 15:41

JavaScript 标准回调模式下,可以处理一些简单的问题,如果,要想控制回调函数 ,啥时候 、啥情况下才被调用 ,就不好办了。


事件触发器模式,可以很好的控制回调函数。


当你使用事件触发器模式的时候,这会涉及到两个或者两个以上的对象的使用,-------你需要一个 事件触发器(event emitter),还有一个或者更多的事件监听者(event listener)。


事件触发器是这样一个对象,——正如其名字说——发送事件。

事件监听器是这样的一个对象,——绑定到事件发射器 ,并监听某类型的事件。


例子:

var req = http.request(options, function(response) { //CPS ,response 是一个事件触发器对象,跟据Node.js 官方文档 它会 触发 "data" ,"end"等事件。response.on("data", function(data) { //监听response 对象的 "data" 事件console.log("some data from the response", data);});response.on("end", function() {console.log("response ended");});});req.end();


一般来说, 请求的操作完成之后,当你想收回(程序)控制权,使用CPS。 当某一个事件可以发生多次,使用事件触发器模式。