socket.io로 공부를 하다보면, emit과 emitWithAck 메소드를 보게된다.이 두 메소드의 기능은 서버 클라이언트 간의 데이터를 방출하는 기능으로 동일하다.다른 점이라면, emitWithAck는 emit과 다르게 Promise객체를 반환시킨다는 점이다 1. 비동기 작업 지원 간단한 socket통신을 구성할 땐 상관없지만,로직이 복잡해질 수록 비동기 처리를 효율적으로 관리할 수 있어야 한다.그런 점에서 반환된 Promise를 통해 작업을 순차적으로 혹은 병렬적으로 실행하는등 관리를 할 수 있게 되는 것이다. 2. 에러처리의 용이성 emit메소드로 에러처리 할 경우// 클라이언트socket.timeout(5000).emit("request", {foo, "bar"}, (err, respon..