본 내용은 드림코딩 엘리님의 강좌를 토대로 작성하였습니다.
자바스크립트는 동기적 언어라 순서대로 코드가 실행된다. 그래서 setTimeout를 이용해 비동기적으로 코드를 실행할 수 있다. setTimeout(함수, ms)
pending
: 수행 중 , fulfilled
: 수행성공, rejected
: 수행실패resolve
: 수행 성공 시 실행할 코드, reject
: 수행 실패시 실행할 코드then
: 수행 성공 시 resolve의 내용을 value로 받음catch
: 에러 발생시 처리할 내용finally
: 성공하든 실패하든 마지막에 수행then
을 이용하여 계속 프로미스를 이어받을 수 있다.catch
를 이용하여 최종적으로 처리하는 방법도 있고, then
사이에 catch
를 넣어서 중간에 오류를 처리하는 방법이 있다..catch(error => {})
async
를 붙여주면 새로운 프로미스가 생성되므로 resolve, reject등을 쓰지 않고 간편하게 프로미스를 사용할 수 있다.await
는 async 안에서만 쓸 수 있고 await가 붙은 수행이 끝마칠때까지 기다리게 해준다.all
: 코드가 동시에 병렬적으로 수행가능한 코드는 all
을 이용해서 한번에 수행한다.race
: 여러 코드 중 먼저 실행되는 코드값을 얻고 싶을 때 이용한다.