1. 程式人生 > >nodejs之事件觸發

nodejs之事件觸發

nodejs事件觸發就是對指定事件的繫結之後,再一次的對事件進行觸發的過程,在此過程中可以指定繫結哪個事件,又或者是移除哪個事件,指定事件的觸發次數。

用個栗子來講述一下:

//引入事件模組
var events = require("events");
//宣告事件觸發器
var eventEmitter = new events.EventEmitter();
//監聽器#1
var listener1 = function listener1(){
console.log("監聽器listener1執行");

}
//監聽器#2
var listener2 = function listener2(){
console.log("監聽器listener2執行");
}
//繫結connection事件,處理函式為listener1
eventEmitter.addListener('connection',listener1);


//繫結connection事件,處理函式為listener2
eventEmitter.on('connection',listener2);




var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+"個監聽器監聽連線事件");




//處理connection事件
eventEmitter.emit('connection');


//移除監繫結的listener1函式
eventEmitter.removeListener('connection',listener1);
console.log("listener1不再受監聽");




//觸發連線事件
eventEmitter.emit('connection');


eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+'個監聽器監聽連線事件');


console.log("程式執行完畢");





通過上述的栗子可以看到,繫結時間有兩種辦法,一種是addListener(),另一種是on。觸發事件是emit。移除監聽事件為removeListener()。

require('events').EvenetEmitter.listenerCout();可以獲取監聽的個數












































相關推薦

nodejs事件觸發

nodejs事件觸發就是對指定事件的繫結之後,再一次的對事件進行觸發的過程,在此過程中可以指定繫結哪個事件,又或者是移除哪個事件,指定事件的觸發次數。 用個栗子來講述一下: //引入事件模組 var events = require("events"); //宣告事件觸發

Nodejs事件驅動+非阻塞io模型

node是js執行環境。 基於v8引擎 特點:事件驅動、無阻塞的io模型 優勢:輕量、高效 node是門技術不是語言 java java .net c# node js。 1什麼是i/o?

nodejs事件處理機制(丟擲事件、監聽事件

程式執行到一定階段的時候會發出一個訊息,對這個訊息進行監聽,作出響應;==========================================***************建立伺服器var http = require('http'); var fs = requ

python+selenium定位web頁面元素:輸入、點選事件觸發

通過前端工具,我們看可以看到頁面上的元素都是由一行一行的程式碼組成。它們之間有層級的組織起 來,每個元素有不同的標籤名和屬性值。那麼在 Selenium 當中就是通過這資訊來找到不同的元素的。 webdriver 提供了八種元素定位方法: id name class n

接入微信公眾平臺開發用戶關註(取消)事件觸發後臺自定義消息體通知給用戶的實現過程

margin 返回 autowire utf-8 href 元素 觸發 tst hid 1.需求:用戶關註公眾號後回復給用戶一個字符串,字符串不能重復使用即如果a用戶關註公眾號後商戶後臺回復給用戶字符串str1後,b用戶關註就是其他字符串,且a用戶取消關註再次關註不回復消息

接入微信公眾平臺開發使用者關注(取消)事件觸發後臺自定義訊息體通知給使用者的實現過程

1.需求:使用者關注公眾號後回覆給使用者一個字串,字串不能重複使用即如果a使用者關注公眾號後商戶後臺回覆給使用者字串str1後,b使用者關注就是其他字串,且a使用者取消關注再次關注不回覆訊息體 2.實現過程:   ①首先配置伺服器url並開啟,再次過程中需要微信後臺與商戶後臺進行通訊,所以,微信後臺會發送

EventEmitter:nodeJs事件觸發機制

Node.js 所有的非同步 I/O 操作在完成時都會發送一個事件到事件佇列 Node.js 裡面的許多物件都會分發事件:一個 net.Server 物件會在每次有新連線時觸發一個事件, 一個 fs.readStream 物件會在檔案被開啟的時候觸發一個事件。 所有這些產生事件的物件都是 events.Ev

nodejs 非阻塞 I/O、非同步、事件驅動

在 Java、PHP 或者.net 等伺服器端語言中,會為每一個客戶端連線建立一個新的執行緒。 而每個執行緒需要耗費大約 2MB 記憶體。也就是說,理論上,一個 8GB 記憶體的伺服器可以同時 連線的最大使用者數為 4000 個左右。要讓 Web 應用程式支援更多的使用者,就需要增加伺服器 的數量,而 Web

BLE 協議棧 "訊息傳遞""事件觸發"誰與爭鋒

BLE 協議棧中對於觸發任務事件大可分為三種方式: 1 通過設定一個“軟體定時器”,當其溢位時觸發事件。osal_start_timerEx()—osalTimerUpdate()— osal_set_event() ; 2 通過呼叫系統訊息傳遞機制觸發事件。osal_m

Nodejs 非阻塞 I/O、異步、事件驅動

console class ack 接收 ring cal lba node events 1、非阻塞 I/O var fs = require(‘fs‘); console.log(‘1‘); fs.readFile(‘mime.json‘,f

NodeJsfs的讀寫刪移監塊

node js NodeJs版本:4.4.4fs文件系統模塊是一個封裝了標準的 POSIX 文件 I/O 操作的集合。Node.js 文件系統(fs 模塊)模塊中的方法均有異步和同步版本。圖片的復制與粘貼創建一個可讀流與一個寫入流。通過管道pipe。var fileReadStream = fs.cre

委托的應用事件

con 代碼 eve null awake his 增加 del 問題: 前言   上一個章節介紹了委托,這裏我們再通過一個例子繼續鞏固一下委托的用法並引入事件的用法 。   為了便於理解,這裏還是引入一個很老的例子: 因為一只貓叫了一聲 接著老鼠被嚇跑 小孩

nodeJS路徑PATH模塊

沒有 組成 use 路徑 api normalize file bin 空字符串 前面的話   path模塊包含一系列處理和轉換文件路徑的工具集,通過 require(‘path‘) 可用來訪問這個模塊。本文將詳細介紹path模塊 路徑組成 【path.dirn

Laravel事件

param ann acad 依靠 操作 nat contract nds 註入 一.事件 事件無處不在,比如用戶登錄、購買商品、搜索、查看文章,等等,都是事件,有了事件,就有事件監聽器,事件監聽器監聽到事件發生後會執行一些操作,Laravel使用觀察者模式來實現這種監聽機

Nodejs旅開始

nod 任務 div -a -m trac 能夠 javascrip watermark web前端是一個門檻低,但精通起來比較難的行業,由於它涉及的範圍比較廣,也許在十年前。我光靠切圖,就能找到一個好的職位,可是如今,僅僅會切圖。我們非常

nodeJScrypto加密

獲取 match 原理 gen gin one class 小明 files 前面的話   加密模塊提供了 HTTP 或 HTTPS 連接過程中封裝安全憑證的方法。也提供了 OpenSSL 的哈希,hmac, 加密(cipher), 解密(decipher), 簽名(si

vue2.0 事件處理器

alt data sof rom 簡寫 temp mic emit 處理器 事件綁定v-on(內置事件) <template> <div> <a v-if="isPartA">partA</a> <

nodeJSTCP模塊net

jsTCP服務在網絡應用中十分常見,目前大多數的應用都是基於TCP搭建而成的。net模塊提供了一個異步網絡包裝器,用於TCP網絡編程,它包含了創建服務器和客戶端的方法。本文將詳細介紹nodeJS中的net模塊 IP測試【net.isIP(input)】  測試是否輸入的為 IP 地址。字符串無效時返回 0。

nodejs 小爬蟲

blue ole ext rip load err html brush title 一、簡單的單頁面 var http = require(‘http‘) var url = ‘http://www.imooc.com/learn/348‘ http.get(url,

【ALB學習筆記】基於事件觸發方式的串行通信接口數據接收案例

except 和數 從數據 發送數據 exceptio 工作原理 實時 double 窗體 基於事件觸發方式的串行通信接口數據接收案例 廣東職業技術學院 歐浩源 1、案例背景 之前寫過一篇《基於多線程方式的串行通信接口數據接收案例》的博文,討論了采用輪詢方