이어지는 글
NodeJS 이벤트 개수 제한
Node는 한가지 이벤트에 대해 10개가 넘는 이벤트 리스너를 등록하는 경우 잘못 등록한 것 이라고 판단하여 오류로 간주합니다.
var util = require('util');
var EventEmitter = require('events').EventEmitter;
var MyObj = function() {};
//EventEmitter 상속
util.inherits(MyObj, EventEmitter);
var myObj = new MyObj();
//아무것도 하지 않는 이벤트 리스너를 10개 넘게 등록
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
(node:232) Warning: Possible EventEmitter memory leak detected. 11 customEvent listeners added. Use emitter.setMaxListeners() to increase limit
이벤트 개수 제한 해제
그러나 필요에 의해 의도적으로 10개가 넘는 이벤트 리스너를 등록해야할 때가 있을것입니다.
이럴때에는 이벤트 제한 개수를 설정 함으로써 해결 가능합니다.
이벤트를 가진 객체의 setMaxListeners(리스너제한개수) 를 통해 설정해줄 수 있습니다.
var util = require('util');
var EventEmitter = require('events').EventEmitter;
var MyObj = function() {};
//EventEmitter 상속
util.inherits(MyObj, EventEmitter);
var myObj = new MyObj();
myObj.setMaxListeners(20);
//아무것도 하지 않는 이벤트 리스너를 10개 넘게 등록
myObj.on('customEvent', function() {});
myObj.on('customEvent', function() {});
...20 개 까지 등록...
'NodeJS' 카테고리의 다른 글
[Node.js] npm이란 - 외부 모듈 사용하는 방법 (0) | 2018.01.03 |
---|---|
[Node.js] Node 작성한 모듈을 외부 모듈로 만드는 방법, exports 사용법 (0) | 2018.01.02 |
[Node.js] url, querystring 모듈 사용법 (0) | 2017.12.30 |
[Node.js] os모듈 사용법 (1) | 2017.12.30 |
[Node.js] NodeJS 파일 입출력 [1] (2) | 2017.12.29 |