본문 바로가기
728x90

node.js/내장 객체8

event event모듈로 커스텀 이벤트를 만들 수 있다 1. on(event_name, callback) 이벤트 이름과 이벤트 발생 시의 콜백을 연결시켜준다. 이렇게 연결하는 동작을 이벤트 리스닝이라 한다. 이벤트 하나에 여러개의 이벤트를 달 수 있다. 2. addListener(event_name, callback) on과 같은 기능을 한다 3. emit(event_name) 이벤트를 호출하는 메서드이다. 이벤트 이름을 인자로 넣으면 미리 등록된 이벤트 콜백이 실행된다 4. once(event_name, callback) 이벤트를 한번만 실행시킨다 5. removeAllListener(event_name) 이벤트에 연결된 모든 이벤트 리스너를 제거한다. 6. removeListener(event_name, li.. 2020. 11. 16.
child_process 노드에서 child_process를 사용하면 다른 언어로 작성한 코드를 실행 시킬 수 있다. 노드에서 멀티스레딩을 하는 경우 멀티스레딩 부분을 노드에서 직접 작성하는것 보단 다른 언어로 작성하는것이 더 쉽다. 다른 언어를 작동시킬때 노드가 직접 해당 코드를 돌리는게 아닌 해당 언어의 컴파일러가 그 코드를 실행시키므로 child_process를 사용할 언어의 컴파일러가 설치되 있어야 한다. 2020. 11. 12.
util.deprecated(), util.promisify() 1. util util은 각종 편의 기능들을 모아놓은 모듈이다. 그 중 deprecated, promisify가 자주 쓰인다. 2. util.deprecated() 기존 코드를 수정하는 과도기에서 사용된다. 기존에 잘못된 코드가 있을 경우 해당 코드를 함부로 수정하게 되면 그 코드를 사용하고 있는 사용자의 프로그램이 제대로 동작되지 않는다. util.deprecated()를 사용하게 되면 잘못된 코드는 지속적으로 사용할 수 있되 경고를 출력해 문제가 있는 코드임을 알려줄 수 있다. 3. util.promisify() 노드가 콜백에서 promise로 전환되고 있지만 일부 라이브러리의 경우 아직까지 promise를 지원하고 있지 않다. 이때 util.promisity()를 사용해서 콜백을 promise로 사.. 2020. 11. 12.
process.nextTick() 콜백이 여러개가 있을때 proces.nextTick(callback)을 사용하면 process.nextTick()으로 감싸진 콜백이 먼저 실행된다. 이는 promise와 같이 process.nextTick()이 마이크로 태스크 큐에서 우선순위를 같기 때문이다. 위 예제에서 볼 수 있듯 process.nextTick()이 먼저 실행된다. proces.nextTick()이 여러개 있는 경우 이들끼리 우선순위가 같기 때문에 위에서 아래 순으로 출력된다. 주의할점: process.nextTick()을 남용하면 다른 콜백들의 실행이 늦어 질 수 있다. 2020. 11. 12.
728x90