[Asynchronous]Promise, async/await
Promise
const print = (str) => {
return new Promise((resolve, reject) => {
// 콜백x new Promise를 리턴, new Promise는 resolve와 reject를 인자로 받는 콜백함수실행
setTimeout(() => {
console.log(str);
resolve();
}, Math.floor(Math.random() * 100) + 1);
});
};
const printAll = () => {
print("A")
.then(() => {
// then으로 비동기 작업을 이어서 실행
return print("B");
})
.then(() => {
return print("C");
});
};
printAll();
async/await
const printAll = async () => {
const one = await print("A");
const two = await print("B");
const three = await print("B");
};
printAll();
타이머 API
- setTimeout(callback, millisecond)
- 일정 시간 후에 함수를 실행
- return 값: 임의의 타이머 ID
setTimeout(function () { console.log("1초"); }, 1000);
- clearTimeout(timerId)
- setTimeout 타이머를 종료
- return 값: 없음
const timer = setTimeout(function () { console.log("10초"); }, 10000); clearTimeout(timer);
- setInterval(callback, millisecond)
- 일정 시간의 간격 함수 반복 실행
- 매개변수(parameter): 실행할 콜백 함수, 시간 간격 (밀리초)
- return 값: 임의의 타이머 ID
setInterval(function () { console.log("1초마다 실행"); }, 1000);
- clearInterval(timerId)
- setInterval 타이머를 종료
- 매개변수: 타이머 ID
- return 값: 없음
const timer = setInterval(function () { console.log("1초마다 실행"); }, 1000); clearInterval(timer);
댓글남기기