stackoverflow보고 코드 해석 해보고있는데 뭐가틀린걸까요? 채택완료
var getTimeout = function(){ var e=setTimeout, b={}; setTimeout=function(a,c){ var d=e(a,c); b[d]=[Date.now(),c]; return d }; return function(a){ return(a=b[a])?Math.max(a[1]-Date.now()+a[0],0):NaN } }();
원본 코드
나름의 머리로 해석한 코드
var getTimeout = function(){ var setTimes = setTimeout, mapArray = {} // 빈 객체 setTimeout(function(callback,delay){ var id = setTimes(callback, delay); mapArray[id] = [Date.now(),delay]; return id }) return function(callback){ return (callback=mapArray[callback]) ? Math.max(callback[1]-Date.now()+callback[0],0) : NaN } } function init(){ getTimeout() } init()
혹시 둘 차이를 좀 상세하게 알려 주실 분 계신가요?ㅠ
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인