coffeescript에서 아래에 자바 스크립트를 작성하는 방법을 알려주십시오.
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
)