(rontolisp) docs
← 関数

rontolisp:wait-for

(rontolisp:wait-for milliseconds)

指定したミリ秒数 (非負整数) 後に nil で確定する future を返します。 タイマーは即座に開始されるため、await しても遅延するのは await している コードだけで、他の非同期処理は動き続けます。ブロッキングで秒単位の cl:sleep に対する、非同期版の対応物です。

タイマーは並行に走ります: 同時に開始した 2 つの future は開始順ではなく 遅延順に確定し、両方を await しても合計ではなく長い方の遅延程度しか かかりません。

バックエンドのサポート

rontolisp:wait-for はインタプリタ、JVM バックエンド、WASM --component に存在します (--component ではホストタイマー wasi:clocks/monotonic-clock@0.3.0wait-for に低下され、イベント ループが解決する保留中の future になるため、タイマーはそこでも本当に 並行します)。Preview 1 WASM はコンパイル時に拒否します (ホストタイマー がありません)。