問題タブ [xstate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Xstate のサービス内からスポーンされたアクターのクリーニングと停止
私はドキュメントを広範囲に読みましたが、まだ完全に明確ではない部分がいくつかあり、ほとんどはアクター/サービスに関係しています
スポーンされたアクターのライフサイクルの詳細については、少し曖昧です。
.stop()
スポーンされたアクターでサービスを呼び出すと、スポーンされたアクターも呼び出され.stop()
ますか、それともハングしたままになりますか?- スポーンされたアクターをマシンからクリアするにはどうすればよいですか?
children
サービス自体の内部からスポーンされたアクターにアクセスする方法はありますか? (アクション内からのように)
ファイルを追加するためのアクションを備えたマシンがあるとします。ファイルが追加されると、それに対して newspawn()
が呼び出され、参照がcontext
. さて、マシンが何をしていても終了したら、それぞれをリセットしてクリアしたいと思いcontext
ます。children
.stop()
ここで完全に具体的に言うと、上記の動作を実装するアップロード システムをどのようにモデル化したかということです。
この実装では、マシンがその状態に戻るたびに、スポーンされた各アクターを手動でidle
リセットして実行しています。ただし、アクター サービスはまだ にぶら下がっていて、マシン アクション内からアクセスすることはできません (3 番目のパラメーターを に追加しても、現在の にアクセスすることはできません)。context
.stop()
.children
meta
resetContext
children
.stop()
アクターの ing と のクリアchildren
と のリセットに関してはcontext
、理想的には状態が入力されたときに実行されるように、それぞれに個別のアクションが必要idle
ですが、 にアクセスする方法が見つからないように見えるため、children
すべてを 1 つのアクションで実行します。これcontext
が私が考えることができる唯一の解決策です。
また、todo が削除されたときの公式の例では、スポーンされたアクターが.stop()
ed ではないことに注意してください。
以下は、便宜上、アップロード システムとファイルを実装するコードです。ビジュアライザーも含む完全な実装は、次の場所にあります。
javascript - xstate を使用して、すべての状態に適用可能で、すべての状態とサブ状態で同じ方法で処理されるイベントを構成することは可能ですか?
私は xstate を初めて使用します。親状態やサブ状態に基づいて、ユーザーがアプリケーションでさまざまなことを要求できるアプリケーションで使用しようとしています。ただし、アプリの状態/サブ状態に関係なく、ユーザーが作成できる必要がある要求がいくつかあります。それらのイベントへの応答は、前の状態が何であったとしても同じです。すべての状態/サブ状態で繰り返し定義する必要がないように、このイベントを構成するにはどうすればよいですか?