이벤트 모니터링은 프로그래밍 언어에서 자주 사용됩니다. 리스너는 다른 개체에서 발생하는 이벤트나 상태 변경을 모니터링하고 그에 따라 처리하는 데 특별히 사용되는 개체입니다. 즉시 적절한 조치를 취하십시오. 리스너는 수동 트리거링이 특징이며 트리거 이벤트는 즉각적으로 실행됩니다. 소규모 프로그램 개발에도 이러한 이벤트 처리 메커니즘이 있습니다. Node.js의 모든 비동기 I/O 작업은 완료되면 이벤트 큐에 이벤트를 보냅니다. Node.js의 많은 객체는 이벤트를 생성합니다. net.Server 객체는 새 연결이 설정될 때마다 이벤트를 생성하고, fs.readStream 객체는 파일이 열릴 때 이벤트를 생성합니다. 이러한 이벤트 생성 객체는 모두 events.EventEmitter의 인스턴스입니다. 그럼 미니 프로그램 제작에 이벤트 리스너를 어떻게 활용하나요?
events 모듈은 events.EventEmitter라는 하나의 개체만 제공합니다.
EventEmitter의 핵심은 이벤트 트리거링 및 이벤트 리스너 기능을 캡슐화하는 것입니다.
EventEmitter의 각 이벤트는 이벤트 이름과 여러 매개변수로 구성됩니다. 이벤트 이름은 일반적으로 특정 의미를 표현하는 문자열입니다. 각 이벤트에 대해 EventEmitter는 여러 이벤트 리스너를 지원합니다.
이벤트가 발생하면 해당 이벤트에 등록된 이벤트 리스너가 순차적으로 호출되고, 이벤트 매개변수가 콜백 함수 매개변수로 전달됩니다.
//event.js 文件 var events =require(\'events\'); var emitter= new events.EventEmitter(); emitter.on(\'someEvent\',function(arg1, arg2) { console.log(\'listener1\', arg1, arg2); }); emitter.on(\'someEvent\',function(arg1, arg2) { console.log(\'listener2\', arg1, arg2); }); emitter.emit(\'someEvent\',\'arg1 参数\', \'arg2 参数\');
addListener(event,listener) 지정된 이벤트에 대한 리스너를 리스너 배열의 끝에 추가합니다.
on(event,listener)는 지정된 이벤트에 대한 리스너를 등록하고 문자열 이벤트와 콜백 함수를 허용합니다.
once(event,listener)는 지정된 이벤트에 대한 일회성 리스너를 등록합니다. 즉, 리스너는 최대 한 번만 트리거되고 리스너는 트리거된 후 즉시 해제됩니다.
removeListener(event,listener) 지정된 이벤트에 대한 리스너를 제거합니다. 리스너는 이벤트에 대해 등록된 리스너여야 합니다.
두 개의 매개변수를 허용합니다. 첫 번째는 이벤트 이름이고 두 번째는 콜백 함수 이름입니다.
removeAllListeners([event])는 모든 이벤트에 대한 모든 리스너를 제거합니다. 이벤트가 지정된 경우 지정된 이벤트에 대한 모든 리스너가 제거됩니다.
setMaxListeners(n) 기본적으로 EventEmitters는 리스너를 10개 이상 추가하면 경고 메시지를 출력합니다. setMaxListeners 함수는 리스너 수의 기본 제한을 늘리는 데 사용됩니다.
listeners(event)는 지정된 이벤트에 대한 리스너 배열을 반환합니다.
emit(event,[arg1], [arg2], […]) 각 리스너를 매개변수 순서대로 실행합니다. 이벤트에 등록된 리스너가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 클래스 메소드의
ListenerCount(emitter,event)는 지정된 이벤트에 대한 리스너 수를 반환합니다.
Listening events
removeListener는 지정된 리스너 배열에서 리스너를 제거합니다. 이 작업은 삭제된 리스너 이후 해당 리스너의 인덱스를 변경한다는 점에 유의하세요.
event - 문자열, 이벤트 이름
listener - 이벤트 처리 기능
newListener 이 이벤트는 새 리스너가 추가되면 트리거됩니다.
event - 문자열, 이벤트 이름
listener - 이벤트 처리 기능
error 오류 의미가 포함되어 있습니다. 일반적으로 예외가 발생하면 오류 이벤트가 발생합니다.
오류가 발생하면 EventEmitter는 응답하는 리스너가 없으면 Node.js가 이를 예외로 처리하고 프로그램을 종료한 후 오류 메시지를 출력하도록 규정합니다. 일반적으로 오류가 발생할 때 전체 프로그램이 충돌하는 것을 방지하기 위해 오류 이벤트를 트리거하는 개체에 대한 리스너를 설정해야 합니다.
대부분 EventEmitter를 직접 사용하지 않고 객체에 상속합니다. 이벤트 응답을 지원하는 핵심 모듈이 EventEmitter의 하위 클래스인 경우 fs, net, http를 포함합니다. 이것의 장점은 특정 엔터티 기능을 가진 객체의 이벤트 구현이 의미론을 준수하고 이벤트의 모니터링 및 방출이 객체의 메서드여야 한다는 것입니다. 둘째, js의 객체 메커니즘은 프로토타입을 기반으로 하며 부분 다중 상속을 지원합니다. EventEmitter를 상속해도 객체의 원래 상속 관계가 중단되지 않습니다.
추천: "Mini 프로그램 개발 튜토리얼"
위 내용은 미니 프로그램 개발에서 이벤트 리스너를 사용하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!