본문 바로가기
728x90

내장객체7

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.
process.nextTick() 콜백이 여러개가 있을때 proces.nextTick(callback)을 사용하면 process.nextTick()으로 감싸진 콜백이 먼저 실행된다. 이는 promise와 같이 process.nextTick()이 마이크로 태스크 큐에서 우선순위를 같기 때문이다. 위 예제에서 볼 수 있듯 process.nextTick()이 먼저 실행된다. proces.nextTick()이 여러개 있는 경우 이들끼리 우선순위가 같기 때문에 위에서 아래 순으로 출력된다. 주의할점: process.nextTick()을 남용하면 다른 콜백들의 실행이 늦어 질 수 있다. 2020. 11. 12.
require require의 특성 1. require는 꼭 맨 위에 올 필요가 없다 2. require한 모듈 내부에 있는 변수, 함수를 호출해 사용하지 않아도 될 경우 변수에 할당하지 않아도 된다. const a = require('./b') 대신 require('./b') 가능 3. require.cache에는 이전에 require했던 모듈의 정보가 캐싱되 있어서 이전에 require된 모듈을 반복적으로 require하게 되면 require.cache에서 호출해 시간을 단축시킨다 4. require.main에는 맨 처음 실행한 모듈이 담겨있다 5. js를 node로 실행하면 거의 가 모듈이 된다->require도 모듈이다 순환참조 순환참조가 발생하게 되면 노드는 무한 루프를 방지하기 위해 module.export.. 2020. 11. 11.
728x90