第一引数に関数が来てるのが使いにくさの原因なので、引数の順番をひっくりかえしたヘルパーを作成します。

1
2
3
function delay(time, func) {
    setTimeout(func, time);
}

こうしておくと、こんなコードが

1
2
3
setTimeout(function() {
    console.log("hoge");
}, 1000);

こう書けます。

1
2
3
delay(1000, function() {
  console.log("hoge");
});

補足

ちなみにCoffeeScriptで書くと

1
2
3
4
delay = (time, func) -> setTimeout(func, time)

delay 1000, ->
  console.log "hoge"

となって見やすいです。