[자바스크립트] 함수 시작 종료 관련 문제!!
월식
2023.04.01
함수가 실행 되는 도중에!(setTimeout)을 사용하여 지연시키는 도중에 다른 함수의 호출이 들어온다면!지연되고 있는 함수를 즉시 종료하고!새로 호출된 함수를 실행하는 방법을 어떻게 하면 될까요?
고수 여러분들에게.. 질문을 올립니다!!
-
늘찬
여러 가지 방법이 있겠지만, 가장 직관적이고 쉬운 방법은..
setTimeout에서 반환하는 핸들을 취소해주는 clearTimeout 이라는 함수가 있습니다.
setTimeout을 사용하는 함수에서 먼저 clearTimeout을 호출해서 이전의 timer를 해제하시면 될거 같습니다.
예)
var timer = null;
function cancel(){
if( timer != null ){
clearTimeout(timer);