programing

Coffeescript에 의한 파라미터가 있는 setTimeout 작성 방법

bestcode 2022. 9. 23. 00:21
반응형

Coffeescript에 의한 파라미터가 있는 setTimeout 작성 방법

아래 javascript를 cofeescript로 쓰는 방법을 알려주세요.

setTimeout(function(){
    something(param);
}, 1000);

함수에 대한 마지막 인수로 콜백이 오는 것은 유용한 규칙이라고 생각합니다.예를 들어, 이것은 보통 Node.js API의 경우입니다.이 점을 염두에 두고:

delay = (ms, func) -> setTimeout func, ms

delay 1000, -> something param

인정하면 추가 함수 호출의 오버헤드가 추가되어setTimeout하지만 오늘날의 JS 인터프리터에서는 초당 수천 번을 실행하지 않는 한 성능상의 단점은 거의 없습니다(그런데 초당 수천 번의 타임아웃을 설정하는 것은 어떻게 합니까?).

물론, 보다 간단한 접근방식은 콜백의 이름을 붙이는 것입니다.콜백은 어쨌든 읽기 쉬운 코드를 생성하는 경향이 있습니다(Jashkenas는 이 관용어의 열렬한 팬입니다).

callback = -> something param
setTimeout callback, 1000
setTimeout ( ->
  something param
), 1000

괄호는 선택 사항이지만, 쉼표로 시작하는 것은 나에게 지저분하게 느껴졌다.

setTimeout -> 
  something param
, 1000

그 결과, 대략 같은 번역이 됩니다(Joel Mueller씨 감사합니다).

setTimeout (-> something param), 1000

어나니머스 함수는 호출 결과를 반환하므로 이것은 정확한 변환이 아닙니다.something(param)스니펫에서처럼 정의되어 있지 않습니다.

같은 방법으로 하는 것이 최선이라고 생각합니다.

setTimeout (-> alert "hi"), 1000

다른 옵션:

setTimeout(
    -> something param
    1000
)

언급URL : https://stackoverflow.com/questions/6459630/how-to-write-settimeout-with-params-by-coffeescript

반응형