JS IOSignal Version 4 released
· 약 1분
JS IOSignal이 version 4 로 업데이트 되었습니다.
breaking changes
v3.에서는 tag를 이미 알고 있고, 수신 시그널 이벤트 핸들러 등록시 tag 값이 사용되므로, 수신 메시지에서 tag를 읽을 필요가 없습니다. 하지만 단일 핸들러를 여러곳에서 사용할 경우 활용 가능하므로 마지막 argument로 전달 되었습니다.
v4. 부터는 시그널 수신 핸들러에 전달시 arguments 목록의 마지막에 붙던 tag가 첫번째 값으로 제공됩니다. 더불어 시그널 수신시 'message' 이벤트가 기본 전달되므로, 하나의 핸들러로 수신 메시지를 처리 할 수 있습니다.
- 참고사항. websocket, mqtt 등과 달리 io.signal()은 0개 부터 n개의 arguments(인자값)를 전송 가능합니다.
// signal 송신
...
peer1.signal('channel', 'hello', 'this is peer1' )
// v3까 지
...
io.on('ready',()=>{
io.subscribe('channel')
})
io.on('channel', (...args)=>{
let tag = args[args.length - 1]
let arg1 = args[0]
let arg2 = args[1]
})
// v4 부터 arguments 값중 첫번째 값은 항상 시그널 tag 입니다.
io.on('channel', (tag, ...args)=>{
// 전달된 tag 그대로 사용
let arg1 = args[0]
let arg2 = args[1]
});
// v4 부터는 모든 시그널에 대해 'tag' 이벤트와 함께 'message' 이벤트도 함께 호출됩니다.
io.on('message', (tag, ...args )=>{
// tag 그대로 사용
let arg1 = args[0]
let arg2 = args[1]
})
