: 일정시간이 지난 후 함수를 실행
setTimeout(fn, s)
function fn(){
console.log('3초');
}
setTimeout(fn, 3000);
// 3초
setTimeout(function(){
console.log('3초 후..!');
}, 3000);
function fn(name){
console.log(name);
}
setTimeout(fn, 3000, '성원');
// 성원
function fn(name1, name2){
console.log(`${name1} loves ${name2}`);
}
setTimeout(fn, 3000, '성원', '달봉');
: 예정된 작업을 제거함
function fn(name){
console.log(name);
}
const tId = setTimeout(fn, 1000, '성원');
// tId = 9
clearTimeout(tId);
// 1초가 지나기 전에 clearTimeout이 시행되기 때문에 아무일도 일어나지 않음
console창에 tId를 찍으면 숫자가 나옴. 해당 숫자가 setTimeout의 time ID인가??
: 일정 시간 간격으로 함수를 반복
function fn(name){
console.log(name);
}
const tId = setInterval(fn, 1000, '성원');
// 1초마다 '성원'이 출력
: setInterval() 작업 취소
setTimeout(function(){
console.log('2222');
}, 0);
console.log('111');
// 유저가 접속중인 시간초를 보여줌
let s = 0;
const fn = setInterval(function(){
console.log(`접속한지 ${s++}초 경과하였습니다.`);
}, 1000);
// clearInterval(fn);
// 접속한지 0초 경과하였습니다.
// 접속한지 1초 경과하였습니다.
...
let s = 0;
const tId = setInterval(function(){
console.log(`접속한지 ${s++}초 경과하였습니다.`);
if(s > 4){
clearInterval(tId);
}
}, 1000);
// "접속한지 0초 경과하였습니다."
// "접속한지 1초 경과하였습니다."
// "접속한지 2초 경과하였습니다."
// "접속한지 3초 경과하였습니다."
// "접속한지 4초 경과하였습니다."
// 정지
let s = 0;
const tId = setInterval(function(){
console.log(`접속한지 ${s++}초 경과하였습니다.`);
}, 1000);
clearTimeout(clearInterval(tId), 5000);
/*
오류!
Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src chrome://resources chrome://test chrome://webui-test 'self'".
*/
setTimeout(clearInterval(), 1000)과 같이 setTimeout과 clearInterval은 함께 사용 불가?