1. ホーム
  2. ジャバスクリプト

[解決済み】Coffeescriptでパラメータを指定してsetTimeoutを記述する方法

2022-04-12 15:08:20

質問

coffeescriptで以下のjavascriptを書く方法を教えてください。

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

解決方法は?

コールバックが関数の最後の引数として来るのは、便利な慣習だと思います。例えば、Node.jsのAPIでは通常そうなっている。だから、それを念頭に置いて

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

delay 1000, -> something param

ただし、この場合、すべての setTimeout しかし、今日のJSインタプリタでは、1秒間に何千回も実行しない限り、パフォーマンスの欠点は重要ではありません。(しかし、現在のJSインタプリタでは、1秒間に数千回のタイムアウトを設定するのでなければ、パフォーマンスの低下は重要ではありません。)

もちろん、もっと簡単な方法は、コールバックに単純に名前を付けることです。これは、とにかくより読みやすいコードを生成する傾向があります(jashkenasはこの慣用句の大ファンです)。

callback = -> something param
setTimeout callback, 1000