사용자 도구

사이트 도구


사이드바

카테고리

language:javascript:tip

Javascript 코드 조각

미선언 상태 확인

오브젝트가 미선언 (undefined) 상태인지 확인

// CDebugUI가 미선언 상태라면
if(typeof CDebugUI !== 'undefined') {
  // 쓸 수 있는 상태니까 어쩌구 저쩌구
}

콘솔 로그

console.log('기본');
console.info('정보');
console.warn('경고');
console.error('에러');

타이머

setInterval()

var _timer = setInterval( 
  function(){ alert("Hello"); }, // 실행할 함수(코드)
  3000                           // 지연시간(ms)
);
  • 두번째 파라미터에서 정한 시간만큼 기다렸다가
  • 첫번째 파라미터에 정한 함수를 실행한다.
  • clearInterval()로 멈추게 하기 전까지는 계속 호출된다.
    • 파라미터는 setInterval()에서 리턴한 타이머 아이디를 넘겨줘야 한다.

setTimeout()

var _timer = setTimeout( 
  function(){ alert("Hello"); }, // 실행할 함수(코드)
  1000                           // 지연시간(ms)
);
  • 두번째 파라미터에서 정한 시간만큼 기다렸다가
  • 첫번째 파라미터에 정한 함수를 실행한다.
  • 한번만 실행된다.
  • 실행 되기 전에 멈추려면, clearTimeout()로 타이머를 정지시켜야한다.

시간재기

// 방법1
console.time("time_chk_1"); console.timeLog("time_chk_1");
console.timeEnd("time_chk_1");
 
// 방법2
var time1_start = Date.now();
var time1_end = Date.now() - time1_start; // ms 시간 값

프라미스(Promise)

시간재기

// 방법1
console.time("time_chk_1"); console.timeLog("time_chk_1");
console.timeEnd("time_chk_1");
 
// 방법2
var time1_start = Date.now();
var time1_end = Date.now() - time1_start; // ms 시간 값

간단 Promise

start_async_task_and_wait_until_done()
{
  let promise_task:Promise<void>[] = [];
  promise_task.push( this.async_task_sample() );
  Promise.all(promise_task).then(()=>{
    console.log('task: done');
  })
  .catch(() => {
    console.log('start_async_task_and_wait_until_done() : task failed');
  });
}
 
/** 2초 기다렸다가 신호 보냄 */
async_task_sample()
{
  return new Promise<void>((onTaskDone) =>
  {
    setTimeout(() =>
    {
      CClog.log('FindSameBlocks: runTask: ', "done");
      onTaskDone();
    }, 2000);
  });
}
language/javascript/tip.txt · 마지막으로 수정됨: 2022/06/12 14:30 저자 kieuns