24. function 으로 맛보기 (coffee/ecma6)
a = 1
b = 2
c = a + b
c
3
a = 3
c
3
a = -> 1
b = -> 2
c = -> a() + b()
c()
3
a = -> 3
c()
5
a = ()=> 1
b = ()=> 2
c = ()=> a() + b()
c()
3
a = ()=> 3
c()
5
24
110. Login의 경우
1. local에서 Unique ID를 생성 (method ID)
2. Login method를 method ID와 함께 call함
3. methodObservable 중 method ID로 필터
4. 3을 subscribe 하고 onNext일때 메인 화면 이동
/* login Method call */
{"msg":"method","method":"login","params":[
{"user":{"username":"admin"},"password":
{"digest":"ㄹㄹㄹㄹ","algorithm":"sha-256"}}],
"id":"1"}
/* result */
{"msg":"result","id":"1","result":{
"id":"kx4SooGR5avtZDWJN",
"token":"ZMUvf03-buGVnblochaafOi1-BCrGcIoCMf9Buo9l4p",
"tokenExpires":{"$date":1488373375267}
}}
110
111. Logout의 경우
1. login에서 받은 자신의 userId를 알고 있음
2. usersObservable중 id가 userId인 것을 필터
3. 자신의 id가 removed 일때 logout 처리 (result와 무관)
4. 현재 화면 위치와 상관없이 logout 처리가 가능!
같은 사용자가 다른 장비로 동시 접속시 처리
/* Logout method call */
{"msg":"method","method":"logout","params":[],"id":"2"}
/* subscribed collection */
{"msg":"removed","collection":"users","id":"kx4SooGR5avtZDWJN"}
/* result of method */
{"msg":"method","method":"logout","params":[],"id":"2"}
111