5

SCXMLステートマシンで、「この状態に入ってから3分後にイベントを発生させますが、2.9分間その状態にとどまってから離れる場合は、イベントを発生させません。状態に再び入る場合は、タイマーを再起動します(don 0.1分で消えない)」

4

1 に答える 1

6

<send>状態に入るときに遅延イベント(「timeout」などの任意の名前)を発生させるために使用し、<cancel>状態を終了するときにタイマーを削除するために使用します。<send>後でキャンセルする予定のインスタンスごとに、必ず一意のIDを作成する必要があります。

<scxml xmlns='http://www.w3.org/2005/07/scxml' version='1.0'>
  <state id="s1">
    <onentry><send id="state1-timer" event="timeout" delay="180s"/></onentry>
    <onexit><cancel sendid="state1-timer"/></onexit>
  </state>
  <!-- ... --->
</scxml>

注: CSS2の時間仕様に従って、遅延時間にはs(秒)または(ミリ秒)のいずれかのみを使用できます。したがって、3分はです。ms180s

于 2013-02-25T23:00:40.043 に答える