결론적으로 내가 원하는것은 -> 이벤트가 끝나면 다음 이벤트
---------------------
일단 돔 이벤트가아닌
Object.prototype.on = function(){...};
Object.prototype.emit = function(){...};
의 옵저버패턴을이용한 객체의 커스텀이벤트야..,
여기서
emit("ahead", 100); // 바라보는 방향으로 100칸 전진
emit("turnRight", 90); // 오른쪽으로 90도 회전
을 써줄시 두개가 동시에 실행되는걸 알수있어
근데 나느 여기서
ahead 이벤트가 끝나면 turnRight를 하고싶어
어떻게 어떻게해서
2개 이벤트 정도는 가능한데 3개이상이되면 잘 안되더라구... 방법이 없을까??
--------------------------
ex) 왼쪾오른쪽 계속돌아가면서 전진하는 (꼬불꼬불 )
player.emit("ahead", 100);
player.on("andAhead", function(){
player.on("turnRight", 90);
}
ahead가 끝나면 emit("endAhead")가 발생함그때 emit("turnRight")를 해주는거임
왜냐하면 그다음에도 emit("ahead", distance); 해줄경우
저위에있는 on도 받아버리기떄문에 저 on이 자꾸 실행되
어찌해야할까..
emit함수에서 객체 리턴해주라고; 그럼 다음같이 쓰면 됨
emit('ahead', 100).emit('turnRight').emit(...)....