F#はイベント用の構文がかなり使いやすく、カスタムコードなしでオブザーバブルとして登録することができます。私はメンバ変数に更新を公開するイベントを作成しています。このイベントを観測可能なものとして購読するつもりですが、既存の値(私が知っていると思う)をサブスクリプションにプッシュすることを望みます。これはイベントシンタックスで行うことが可能で簡単ですか?たとえば、イベントシンタックスを使用して適切なオブザーバブルを作成する必要がありますか? BehaviorSubject?サブスクリプション時に "既存のイベント値"を公開する
3
A
答えて
1
これは、その使用方法に大きく依存します。
イベントからオブザーバブルに変換すると、EventArgsはオブザーバブルの型としてマップされます。 「標準」イベントでは、値はありません(EventArgs
は情報を持ちません)。
しかし、あなたは簡単にイベントのために、通常の.NETガイドラインに違反し、値そのものを使用するカスタムイベントタイプ、またはイベントを使用することができます。
let evt = Event<int>()
let obs = evt.Publish :> IObservable<_>
obs |> Observable.add (fun v -> printfn "New value: %d" v)
evt.Trigger 3
evt.Trigger 4
言われていること、あなたのユースケースに応じて、あなたが望むことGjallarhornを見てください。このライブラリは、変更可能な値への変更を追跡し、うまくシグナリングするために特別に設計されました。これは、現在の値を含む観測値である「信号」という概念を中心に構築されています。これは上記のコンセプトをファーストクラスにします。必要に応じてIObservableとして直接使用できる何か(信号)を渡すことができますが、常に基礎となる現在の値を取得するためにも使用できます。実際には、これは多くのユースケースを劇的に簡素化します。
関連する問題
- 1. C++既に既存のオブジェクトのインスタンスをスクリプト言語に公開する
- 2. WSO2に既存のAPIを公開する方法ESB
- 3. WCF内に既存のビジネスオブジェクトを公開する
- 4. Visual Studioが空白の既存のアプリケーションエラーに公開する
- 5. RabbitMQ:Rubyの既存のキューに接続して公開する
- 6. キャッチメールアイテムプレビュー公開イベント
- 7. Gitの既存のブランチにプロジェクトを公開
- 8. 既存の公開済みアプリケーションにアプリ内購入を追加し、公開せずにテストする
- 9. 親に子イベントを公開する
- 10. FB Bot - 既存の公衆ボットにpages_messaging_subscriptionsを追加する
- 11. 保存時にドッカーにアプリを公開する
- 12. 既存のプラグインを変更するvue jsプラグインを公開する方法
- 13. 既存の公開鍵を持つGitクローン
- 14. 他の人のAzureサブスクリプションに公開しますか?
- 15. アンドロイドでの公開イベント
- 16. artifactoryに公開し、SBTで既存のバージョンを上書きする
- 17. Google Pub/Sub再利用既存サブスクリプション
- 18. GraphQLサブスクリプション:サブスクリプションリゾルバで公開オブジェクトを取得する方法
- 19. 一時的にサーバーファイルを公開する
- 20. 既存のサブスクリプションでad-b2cテナントを作成する方法
- 21. GitはVS 2015を使って既存のプロジェクトを公開するgui
- 22. アクセストークンFacebook APIグラフ - 公開イベント
- 23. Slackイベントのサブスクリプション
- 24. パイプのサブスクリプション・イベント
- 25. サブスクリプションするイベントのバブリング
- 26. 公開情報を公開ディレクトリに保存するのは安全ですか?
- 27. サブスクリプションで以前に公開されたデータへのActiveMQアクセス
- 28. サブスクリプションの開始時にダイアログを表示する方法は?
- 29. Asp.net MVC公開時に変更する
- 30. 公開時にVisual Studioがクラッシュする
「既存の価値」とはどういう意味ですか?発生したイベントに関連付けられた値のみが存在します。あなたが言うことは、Gjallarhornの信号を私に思い出させるが。 https://github.com/ReedCopsey/Gjallarhorn – TeaDrivenDev
私は観察の観点から考えています。イベントは、一部のメンバー変数への更新を公開します。私は質問でこれを明らかにした。 – cmeeren
それはまさにGjallarhornに動機づけられたものです。 Observableは値を保持しません。 GjallarhornのISignalは、この正確なコンセプトで観察可能に拡張されています。 –