2015-08-27 130 views
5

在通過sax nodejs模塊查看時,我看到多個emit函數調用,但我找不到任何有關它的信息。什麼是`emit` javascript函數?

它是一些用於發射事件的V8本機工具嗎?爲什麼sax-js不使用EventEmitter的流呢?

+0

發表評論,如果你downvote。 – rottenoats

回答

4
Please look at line number 624 of same file 
function emit (parser, event, data) { 
    parser[event] && parser[event](data) 
} 
+0

omg。我是盲人,謝謝! – avasin

13

在node.js中,事件可以簡單描述爲一個帶有相應回調的字符串。事件可以被「發射」(或換句話說,相應的回調稱爲)多次,或者您可以選擇僅在第一次發射時進行監聽。

on或addListener方法(基本上是訂閱方法)允許您選擇要監視的事件和要調用的回調。另一方面,emit方法(發佈方法)允許您「發出」一個事件,這會導致註冊到該事件的所有回調「激發」(被調用)。

參考:https://docs.nodejitsu.com/articles/getting-started/control-flow/what-are-event-emitters/