Nodejs에서 동기와 비동기

SeoTae·2022년 7월 10일
0

이것저것

목록 보기
2/10

Nodejs에서 hash로 Password를 암호화하는 과정에서 암호화된 Password가 DB에 담기지가 않았다. 찾아보니 내가 생각하고 있는 실행 순서로 안되고, 다르게 되었다. 그래서 검색을 해보니 이것이 동기와 비동기 때문에 이러한 문제가 생긴다고 했다.

동기와 비동기(Synchronous and Asynchronous)

동기란, '동시에 일어나는'이라는 뜻으로 요청과 그 결과가 동시에 일어난다는 약속이다.
반대로 비동기는 '동시에 일어나지 않는'이라는 뜻으로 요청과 결과가 동시에 일어나지 않을 것이라는 약속이다.

장단점
동기 방식은 설계가 매우 간단하고 직관적이지만, 결과가 주어질 때까ㅣ 아무것도 못하고 대기해야하는 단점이 있다.
비동기 방식은 동기보다 복잡하지만, 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효과적으로 사용할 수 있다는 장점이 있다.

해결
코드에 비동기를 뜻하는 Asynchronous의 약자인 async를 붙여 비동기로 바꾸고 나오는 결과 값 앞에 await를 붙인다

async function (){
	var a = await ----;
}
profile
Vamos🔥🔥🔥🔥🔥

0개의 댓글