日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql触发器 node_node.js中事件触发器events的使用

發布時間:2023/12/4 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql触发器 node_node.js中事件触发器events的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

node.js是基于事件驅動的,通過events,我們可以方便的創建事件,并通過觸發事件來調用我們自定義的監聽函數。

所有能觸發事件的對象都應該是?EventEmitter 類的實例,一般我們自定義一個類繼承于?EventEmitter 類。

通過on()方法我們可以綁定事件與監聽函數:

const Events = require('events');

//自定義一個類,繼承于EventEmitter類

class MyEvent extends Events {

}

//實例化一個我們自定義的事件類

let e = new MyEvent();

//通過on來綁定事件與監聽函數

e.on('click', function () {

console.log('點擊了');

});

//通過emit觸發事件

e.emit('click');

emit()方法可以傳遞多個參數給監聽函數使用:

const Events = require('events');

//自定義一個類,繼承于EventEmitter類

class MyEvent extends Events {

}

//實例化一個我們自定義的事件類

let e = new MyEvent();

//通過on來綁定事件與監聽函數

e.on('click', function (...args) {

args.forEach(function (value) {

console.log(value);

});

});

//通過emit觸發事件

e.emit('click', 1, 2, 3);

addListener()方法是on()方法的別名,具體的使用,可以看on()方法。

once() 方法添加單次執行的事件與監聽函數,只會執行一次。

const Events = require('events');

//自定義一個類,繼承于EventEmitter類

class MyEvent extends Events {

}

//實例化一個我們自定義的事件類

let e = new MyEvent();

e.once('click', function () {

console.log('點擊');

});

//多次觸發事件,只會執行一次

e.emit('click');

e.emit('click');

e.emit('click');

我們也可以通過 removeListener() 方法刪除指定的監聽處理函數,還有一個同名函數 off(),用法一樣。

const Events = require('events');

//自定義一個類,繼承于EventEmitter類

class MyEvent extends Events {

}

//實例化一個我們自定義的事件類

let e = new MyEvent();

function click() {

console.log('點擊');

}

function move() {

console.log('移動');

}

e.on('事件', click);

e.on('事件', move);

//觸發事件

e.emit('事件');

//我們刪除其中一個綁定事件

e.off('事件', click);

//再次觸發事件后,被刪除的綁定事件就無法執行了。

e.emit('事件');

當我們為某個事件綁定過多監聽函數時,就會打印警告,默認是 10 個,我們可以使用?setMaxListeners() 來設置最大監聽數量

const Events = require('events');

//自定義一個類,繼承于EventEmitter類

class MyEvent extends Events {

}

//實例化一個我們自定義的事件類

let e = new MyEvent();

function click() {

console.log('點擊');

}

//如果設置0,則表示不受限制

e.setMaxListeners(0);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.on('事件', click);

e.emit('事件');

通過?listeners() 函數可以返回指定事件的所有監聽函數

const Events = require('events');

//自定義一個類,繼承于EventEmitter類

class MyEvent extends Events {

}

//實例化一個我們自定義的事件類

let e = new MyEvent();

function click() {

console.log('點擊');

}

function move() {

console.log('移動');

}

e.on('事件', click);

e.on('事件', move);

//獲取該事件的所有監聽函數

let arr = e.listeners('事件');

//循環調用

arr.forEach(function (fn) {

fn();

});

通過?eventNames() 獲取所有事件名數組

const Events = require('events');

//自定義一個類,繼承于EventEmitter類

class MyEvent extends Events {

}

//實例化一個我們自定義的事件類

let e = new MyEvent();

function click() {

console.log('點擊');

}

function move() {

console.log('移動');

}

e.on('點擊', click);

e.on('移動', move);

//獲取所有事件名數組

console.log(e.eventNames());

事件對象的 'newListener' 和 'removeListener' 事件

事件對象添加新的監聽器之前,會觸發自身的 'newListener' 事件。

事件對象刪除監聽器后觸發 'removeListener' 事件。

const Events = require('events');

class MyEvent extends Events {

}

let e = new MyEvent();

//注意 'newListener' 事件是在添加監聽器之前觸發的

e.once('newListener', function (eventName, listener) {

console.log(eventName, '事件被添加');

//所以這里的事件回調會先執行

e.on('click', function () {

console.log('我比點擊了,先顯示');

});

});

//注意 'removeListener' 事件是在監聽器移除后觸發

e.on('removeListener', function (eventName, listener) {

console.log(eventName, '事件被刪除');

});

//綁定click事件

e.on('click', function () {

console.log('點擊了');

});

//觸發click事件

e.emit('click');

//移除事件

e.removeAllListeners('click');

總結

以上是生活随笔為你收集整理的mysql触发器 node_node.js中事件触发器events的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。