일부 코드를 실행하기 위해 node.js에서 이벤트를 사용하고 싶습니다. 내 질문은, 호출 된 이벤트 코드의 범위는 무엇입니까? 특히, 이벤트 호출자의 범위를 공유합니까? 아니면 "격리되어 있습니까?" 나는 비슷한 효과를 얻기 위해 이벤트에서 호출 된 코드에 매개 변수를 전달할 수 있지만 이상적으로는 호출 할 수있는 범위를 사용하고 싶습니다.Node.js 이벤트 범위?
1
A
답변
1
는, 노드 이벤트 시스템에 의해 후에 처리하기 위해 큐에 넣어. 이벤트가 발행되는 범위의 모든 변수는 인수로 emit
에 전달되어야합니다. 노드가 해당 이벤트를 가져와 바인딩 된 모든 콜백을 트리거하면 별개의 "깨끗한"범위와 고유 한 "깨끗한"스택 모두에서 발생합니다. (사이드 노트에서, 이것은 노드의 스택 트레이스가 디버깅을 방해 할 수있는 이유입니다).
var events = require('events');
var myEmitter = new events.EventEmitter();
function closure1(word, number) {
function closure2(animal, vegetable) {
myEmitter.emit('hey', word, number, animal, vegetable, 43);
}
closure2("horse", "carrot");
}
myEmitter.on('hey', function (word, number, animal, vegetable, anotherNumber) {
console.log('hey event fired with', word, number, animal, vegetable, anotherNumber);
});
closure1("table", 42);
당신이 그것을 실행하면, "이봐, 테이블 42 말 당근 43로 해고당한 사건"이 인쇄 될거야.
see the node.js docs on emitter.emit(event, [arg1], [arg2], [...]
3
이벤트가 호출자의 범위에 연결됩니다. 즉 모듈에서 내 보낸 EventEmitter는 동일한 EventEmitter에서 방출 된 이벤트를 수신하는 데만 사용할 수 있습니다. 일정을 방출하면
관련 문제
- 1. node.js 또는 casper.js의 가변 범위
- 2. Socket.IO 범위 지정 문제 (Node.JS)
- 3. 이벤트 구동 프로그래밍 node.js?
- 4. Node.js 경로에서 이벤트 묶기
- 5. 람다 이벤트 핸들러의 범위
- 6. JavaScript 이벤트 처리기 범위
- 7. JQuery와 이벤트 핸들러의 범위
- 8. 셸에서 node.js 마우스 누르기 이벤트
- 9. node-js 이벤트 루프 및 범위
- 10. 이벤트 호출 및 범위 문제
- 11. jquery datepicker 범위 이벤트 발생
- 12. Node.js (또는 기타)에서 MySQL에 이벤트 첨부하기
- 13. node.js 이벤트 이미 터가 여러 인스턴스에 바인딩
- 14. Node.JS 콜백 함수, 수신 객체 이벤트 수신
- 15. NODE.JS socket.IO 이벤트 핸들러에서 공유 변수에 액세스하기
- 16. node.js 이벤트 대기중인 클라이언트로 돌아 가기
- 17. node.js 직렬 포트 모듈 이벤트 유형
- 18. node.js, faye (bayeux) - 구독 이벤트 후
- 19. ASP.net 이벤트 일정 표시 날짜 범위
- 20. XAML 프레임의 개체 및 이벤트 범위
- 21. jQuery 플러그인에서 이벤트 핸들러의 범위 관리
- 22. Node.js 차단 자연
- 23. node.js 콜백은 어떻게 비동기식입니까?
- 24. PHP와 Node.js 또는 Node.js 만?
- 25. 바퀴 재발 명 : Node.JS/이벤트 중심 프로그래밍 v.s. 함수 프로그래밍?
- 26. node.js (MongoDB?)에 대한 분산 데이터베이스로 이벤트 로깅
- 27. Node.js 자식 프로세스가 이벤트 핸들의 프로세스 객체에 액세스합니까?
- 28. Node.js : redis pubsub 이벤트 내에서 세션을 업데이트 할 수 없습니까?
- 29. node.js (express.js)에서 맞춤 이벤트 리스너를 만드는 방법은 무엇입니까?
- 30. node.js 업그레이드 이벤트 소켓을 콜백 외부에서 사용하는 방법은 무엇입니까?
예가 있습니까? – Neal