이거임
특정 작업을 비동기로 처리하되, 그 작업의 내부 작업들은 또 동기적으로 처리하게 하려면 then()을 쓰는거다.
물론 그동안 관계없는 다른 코드들은 계속 병렬 실행 되고 있음.
깃으로 비유하면 새 브런치가 생기는거라고 보면 됨... 새 브런치는 새 브런치대로, 기존 브런치는 기존 브런치대로 서로의 작업을 병행 하다가
새 브런치의 작업이 끝나면 기존 브런치에 합쳐지는거임...
진짜 이해한거 맞지 이제???????? async, await 넘어가도 되지?????
--
다시 생각하니 합쳐진다는 개념은 아닌거같다 그냥 서로의 결과에 영향을 주지 않으면서 실행이 따로 되는것
NeckDoria임?
브런치가머임
뭐이리 어렵노 콜백단점보완한 객체정도인데
뭘 기존 브런치에 합쳐져 잘못 알고 있구만
애초에 우선순위는 동기작업이고, 그 다음이 비동기 작업이야. 그리고 promise 내에서도 중첩이 되는 게 아닌 이상 실행자 자체는 promise 객체 생성 당시에 바로 실행해. 대신에, 그 작업이 비동기 작업이거나 이중 이상으로 중첩이 됐을 경우에는 비동기 작업으로 넘기지. 그러면 무슨 말이냐? 일련의 일반 동기 작업과 promise 작업을 실행할 때, 나열된 순서대로 작업을 실행하고 promise 실행자 내부의 비동기 작업만 처리를 '대기'하고 있는 거지
즉, git merged branch처럼 나중에 병합되는 게 아니라, 말 그대로 분리만 되고 합쳐지지 않는 두 가지를 보는 느낌인 거지. 비동기 작업이 완료되고 동기 작업으로 돌아오지 않는다는 거야. 돌아오게 되면 계속해서 같은 동작을 반복하니깐 말이 안되지.
new Promise로 감싸진 코드들이 전부 비동기 실행 되는게 아니라.... 그 안에서도 비동기 실행인 코드들만 대기가 되는거구나. 난 promise로 감싸면 그거자체가 통째로 비동기실행코드가 돼서 병렬작업으로 빠지고 다음코드들로 넘어가는줄 알았는데 아니었네 시작부터 잘못 알고있었노
합쳐지는건 나도 다시생각해보니 아닌거같아서 본문수정 해놨다.. 아 시발 존나 어렵다 이게 뭐라고 이렇게 이해하는데 오래걸리는거냐 진짜
동기, 비동기, 블락, 논블락 이 개념부터 공부하고, 자바스크립트 이벤트 루프라고 있음. 그것도 보셈