: 비동기함수.
const hi = async () => {}
이렇게도 기능은 같다.
try-catch와 비슷하다.
Promise 객체를 반환한다.
Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. (in MDN)
function waitfor2000(input) {
return new Promise((resolve, reject) => {
if (input)
resolve('hello');
else
reject('refuse!');
});
}
const result = waitfor2000('hi');
console.log(result);
여기서 resolve, reject => excutor.
성공하면 resolve 함수가, 실패하면 reject 함수가 실행된다.
try-catch
: 네트워크에서는 이걸로 사용한다.
try {
...
} catch (error) {
console.error(error.message);
}
pending -> fulfilled or rejected
이행이나 거부될 때, 프로미스에 연결된 처리기는 그 프로미스의 then
메서드에 의해 대기열에 오른다.
MDN을 읽어보자.