본문 바로가기
Full

Promise프로미스, async

by ddanss 2022. 12. 7.
728x90

프로미스 (Promise)
- 내용은 실행되었지만 결과를 아직 반환하지 않은 객체
- Then을 붙이면 결과를 반환함
- 실행이 완료되지 않았으면 완료된 후에 Then내부함수가 실행됨
- resolve(성공리턴값) -> then으로 연결
- Reject(실패리턴값) -> catch로 연결
- Finally 부분은 무조건 실행됨

 

const condition = true;
const promise = new Promise((resolve, reject) => {
	if(condition) {
		resolve('성공');
	}
	else {
		reject('실패');
	}
});

promise
	.then((message) => {
		console.log(message);
	})
	.catch((error) => {
		console.error(error);
	})

 

아래 두개는 같은 코드

function findAndSaveUser(Users) {
	Users.findOne({})
		.then((user) => {
			user.name = 'zero';
			return user.save();
		})
		.then((user) => {
			reutrn Users.findOne({gender: 'm'});
		})
		.then((user) => {
		//생략
		})
async function findAndSaveUser(Users) {
	let user = await Users.findOne({});
	user.name = 'zero';
	user = await user.save();
	user = await Users.findOne({gender:'m'});
	//생략
}
반응형

'Full' 카테고리의 다른 글

노드 node process  (0) 2022.12.08
노드 node 현재 파일 경로, 현재 폴더 경로  (0) 2022.12.07
모듈 만들기  (0) 2022.12.07
노드 서버의 장단점  (0) 2022.11.30

댓글