Promise
실행 후 결과는 나중에 수신하는 객체
Callback 대신 Promise
*ES2015 (ES6)부터 제공
const condition = true;
const promise = new Promise((resolve, reject) => {
if(condition){
resolve('성공');
} else{
reject('실패');
}
});
promise.then((message) => { console.log(message); }) //resolve 실행시 then 실행, 성공 출력
.catch((error) => { console.error(error); }) //reject 실행시 catch 실행, 실패 출력
.finally(() => { console.log('종료 후 반드시 실행'); });
async/await
Promise를 좀 더 깔끔하게
ES2017 (ES7)부터 제공 (Node.js 7.6부터 제공)
function findAndSaveUser(Users){
Users.findOne({})
.then((user)=> {
user.name = 'illua';
return user.save()
})
.then((user)=>{
return Users.findOne({gender:'m'});
})
.catch(err=>{
console.log(err);
});
}
async function findAndSaveUser(Users){
try{
let user = await Users.findOne({});
user.name = 'illua';
user = await user.save();
user = await Users.findOne({gender:'m'});
}catch(error){
console.error(error);
}
}
반응형
'메모 log (간단메모) > backend' 카테고리의 다른 글
파일 처리 방식 (0) | 2020.09.22 |
---|---|
AJAX 요청 - axios 또는 jQuery (0) | 2020.09.20 |