在node中,充满了异步。如果使用回调的话会陷入回调陷阱。在密密麻麻的"});"中挣扎。
所以使用事件发射\监听的方式去构造我们的代码能带我们走去回调地狱,走向愉快。具体有多好谁用谁知道啊,不过今晚遇到了个坑,官网和众多的博客都没有提到。,可能是太基础了吧,但为了像我这样野生的工程狮能不要像我这样爬地那么费劲还是分享下。
var events = require("events") var emitter = new events.EventEmitter() emitter.emit(‘getPageUrls‘,4) emitter.emit(‘getPageUrls‘, 1); emitter.on("getPageUrls", function(foo){ console.log(foo); }) emitter.emit(‘getPageUrls‘,2) emitter.emit("getPageUrls", 3)
以上代码的运行结果如下:
2 3
这是因为事件的发射器必须写在事件的监听器后面,后者则会监听不到。
至于为什么。额,等以后研究到了源代码再来填坑吧。
时间: 2024-11-07 13:07:07