동기(Synchronous) 비동기(Asynchronous) 첫 번째 해결 방법, 콜백이다. 여기까진 잘 이해가 됐지만... 이 다음이 문제다. 쭉 따라가다 보면 알 수 있지만, 콜백을 반복하다보면 함수 안에 함수가 들어가는 꼴이 반복되면서 콜백지옥 (Callback hell)이 만들어지는 것을 볼 수 있다. 물론 저 정도로 지옥은 아니겠지만 더 길어지면 정말 지옥이 될지도 모른다. 그래서 나온 방법이 Promise. 다음 포스팅에서 볼 수 있을 것이다. 물론 올리기 전에 내가 먼저 이해를 해야겠지만... // 동기(Synchronous), 비동기(Asynchronous) // 동기: 순차적으로 코드 실행O // 비동기: 순차적으로 코드 실행X console.log(1); // 1 console.log(..
동기
다음 포스팅이 동기/비동기(Sync, Async)에 대한 것인데... 이를 이해하기 위해서는 자바스크립트의 작동 방식이 어떠한지를 먼저 알아야 한다고 생각했다. 그걸 안다고 해도 지금 내 머리 속에 둥둥 떠다니는 비동기 처리와 콜백, promise, resolve, reject 등이 한 번에 이해되고 그러진 않겠지만... 열심히 하는 거 같은데 남는 게 없는 느낌이라 뭔가 좀 허하다. 그래도 정진 해야겠지. 자바스크립트의 동작 원리 우선 JavaScript는 동기식 언어이다. 즉, 한 번에 하나의 작업을 실행하는데 그 작업이 실행되는 동안 다른 작업은 수행되지 않는다. JavaScript는 single threaded 언어로 한 번에 코드 하나밖에 실행하지 못한다. setTimeout 같은 코드는 바로 ..