Be well coding/In Immersive
6/28 / Deployment , AWS
be well
2019. 6. 28. 10:26
Toy 18번 문제. async map 함수 작성. 비동기함수를 동기적으로 실행해서 맵핑까지 하는 함수작성.
최근에 배운 비동기함수를 동기적으로 실행하는 방법 중
callback , promise , async await 등을 배웠는데 promise 가 가장 편하게? 느껴져서 사용해서 해결해보았다.
new Promise()로 프로미스를 생성하고 종료될 때까지 3가지 상태를 갖는다.
- Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태
- Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태
- Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태
var asyncMap = function(tasks, callback){
// tasks = [fn1,fn2,...]
let eachPromise = tasks.map(function(task){
return new Promise(task);})
// tasks 에 각 함수들을 promise화 해서 새 배열에 담는다.
console.log(tasks)
console.log(eachPromise)
// promise.all 로 풀어주기 전까진 pending 상태.
return Promise.all(eachPromise).then(function(value){
// promise.all 로 팬딩을 풀고
// 각 리턴 값을 매핑함수 callback에 넘겨준다.
console.log(value)
callback(value)
})
};
Deployment and AWS
(S3, EC2, RDS)
자세한 내용은 스프린트에 정리해놓았다.