-
PromiseNoResult.ts
{ async function Main1() { console.log("root start"); let rst1 = await new Promise((resolve, reject)=>{ return ".main return~"; resolve("resolve~"); }).then((resolve)=>{ console.log("then " + resolve); }).catch((reject)=>{ console.log("catch " + reject); }); console.log("root " + rst1); console.log("root end"); } Main1(); }
결과 (await없을 경우)
root start root [object Promise] root end
promise속 return값은 전달 불가.
promise의 then 처리 안 됨.
promise의 catch 처리 안 됨.
promise호출 이후 코드 작동되어 "root end"가 출력 됨.
결과 await 사용
root start
promise속 return값은 전달 불가.
promise의 then 처리 안 됨.
promise의 catch 처리 안 됨.
promise호출 이후 코드도 작동 안 됨.
즉 무한 대기 상태로 이해할 수 있다(그렇지만 프로그램은 오류 없이 종료되어 console에서 다른 명령을 처리 가능한 상황)
'Html Css JavaScript' 카테고리의 다른 글
Bootstrap 적용 준비 (0) 2023.01.22 html layout ex1 (float 적용) (0) 2023.01.22 Promise Ex 결과(reject,resolve) 순서 (0) 2023.01.22 Promise Ex 결과(resolve, reject)와 return값 (0) 2023.01.22 Promise Ex 결과에서 재귀적 사용 (0) 2023.01.22 async await Ex2 (0) 2023.01.22 Bootstrap (0) 2023.01.21 bootstrap Ex navs (0) 2023.01.21