얼음꽃의 일지

Promise? 약속? 본문

항해 일지

Promise? 약속?

얼음꽃 2022. 12. 18. 09:34
728x90

Promise

-> 비동기 함수 호출 또는 비동기 연산이 완료되었을때, 그 다음에 와서야 처리할 함수 혹은 에러를 설정하는 모듈

function call(text, timeout) {
	return new Promise((new_text, reject_time) => {
    	setTimeout(() => {
        			resolve(text);
        }, timeout)
    })
}

call("여보세요 나야~", 1000).then((text) =>
	call(`${text} 누군가 전화함`, 1000)
).then((text) => {
	console.log(`전화왔어! ${text}`);
});

-> Promise가 없었다면 비동기 시에 그냥 콘솔 값이 막 나와서 아마 콜백 지옥이 실행 될 수있다. 

 

promise 세가지 상태

- 대기(pending) : 이행(fulfilled)이나 거절(rejected)도 안된 상태

- 이행(fulfiled) : 비동기 연산이 성공적으로 완료된 상태이므로 결과 값을 반환

- 실패(rejected) : 비동기 연산을 실패하여 에러를 반환

 

 

728x90

'항해 일지' 카테고리의 다른 글

async & await  (1) 2022.12.18
호이스팅? Hoisting?  (0) 2022.12.18
CORS 란?  (0) 2022.12.18
정규화  (0) 2022.12.18
Array 와 Linked-List 차이  (0) 2022.12.18