실행이 잘 되었을 시에 이행된 값을 반환
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve
실행이 주어진 이유로 거절된 경우에 거부된 값을 반환
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/reject
콘솔창에 표시됨, 리턴으로
https://developer.mozilla.org/ko/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout
resolve, reject 일 때를 위한 콜백 함수
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/then
error가 났을 때, error를 catch해준다
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch
대기(pending): 비동기 처리의 결과를 기다리는 중
이행(fulfilled): 비동기 처리가 정상적으로 끝났고 결과값을 가지고 있음
거부(rejected): 비동기 처리가 비정상적으로 끝났음
await: async function 내부에서만 사용 가능, promise를 기다리기 위해 사용, promise에 의해 만족되는 값이 반환됨, promise가 아닐 경우에는 그 값 자체가 반환됨
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/await