問題タブ [reactive-programming]
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.
haskell - 反応性バナナ:行動の最新の値を含む発火イベント
起動時に2つのことを実行したいイベントトリガーがあるとします。まず、いくつかの動作の値を更新する必要があります。次に、他の条件が満たされた場合、動作の更新された値で別のイベントsend_offを発生させたいと思います。コード形式で表現され、私が持っていると仮定します
次に、質問は次のとおりです。??????に何を入れますか これにより、send_offは動作の最新の値を送信します。これは、適用されたばかりのトリガーからの更新を含む値を意味します。
残念ながら、私が正しく理解していれば、Behaviorのセマンティクスは、更新された値がすぐに利用できないようなものです。したがって、ここでの唯一のオプションは、基本的に、作業を複製し、Behaviorの更新された値を再計算して、すぐに使用できるようにすることです。別のイベントでは、つまり?????? のようなもので
これで、ビヘイビアの代わりにディスクリートを使用することで、ビヘイビアの更新された情報をすぐに利用できるようになるという感覚がありますが、これは実際には、元のイベントと同時に発生するイベントを提供することと同じです。更新された値を使用し、リアクティブなものを見逃していない限り、バナナは、他の2つのイベントが同時に発生した場合にのみイベントを発生させる方法を提供しません。つまり、イベントの結合を提供しますが、交差点は提供しません。
だから私は2つの質問があります。まず、この状況についての私の理解は正しいですか、特に上記の私の解決策がそれを回避する唯一の方法であるという結論で正しいですか?第二に、純粋に好奇心から、イベントの交差点に対処する方法について開発者による考えや計画はありましたか?
haskell - 反応バナナ: AddHandler を作成する方法?
私は現在、Heinrich Apfelmus の react -bananaを通じて FRP を知ろうとしています。これは、私が調べた他のライブラリと比較して、非常によく文書化されたシンプルなライブラリのようです。
ただし、AddHandler型について頭を悩ませることはできません。GLFWを使用してマウス ボタンのクリックを取得し、 のようなものにしたいとしましょうeMouseButton :: Event ()
。例を見ると、どうにかしてfromAddHandlerを使用する必要があるようですが、そのAddHandler
引数を組み立てる方法がわかりません。newAddHandler
どうにか使い切らなければならないと思うのですが、いかがでしょうか?
reactive-banana
以外の何かに接続する方法の例はwx
、大いに役立つと思います。
.net - RXスロットル使用時のクロススレッド例外
私は得ています
無効なクロススレッドアクセス。
RXスロットルを使用する場合
これが私のコードです:
しかし、スロットルを省略すると、すべてが機能します。
私が理解している限り、Throttleはスレッドプールを使用しているため、UIスレッドではOnNextは発生しません。ただし、SubscribeOnDispatcherはそれをUIスレッドにマーシャリングする必要があります。いけませんか?
windows-phone-7 - Windows Phone 7 でスロットル操作を行うとパフォーマンスが低下する
RX を多用する WP7 アプリケーションを構築していますが、問題が発生しました。20 ミリ秒を超える値の Throttle を追加すると、パフォーマンスが大幅に低下します。
以下のスニペットは、問題を特定しています。
スニペットの出力は次のとおりです。
私の理解では、Throttle はスレッド プールからスレッドを作成し、UI をブロックすることはなく、非常に効率的であるはずです。
質問 それでは、パフォーマンスが非常に遅いのはなぜですか。私はRXの初心者なので、おそらくここで何かが欠けています。
編集
同じ問題を再現する別のサンプルを次に示します。
私の理解では、これは100ミリ秒ごとに数値を出力するはずですが、何も出力しません。
system.reactive - RX で異なるタイプの 2 つのソースを結合する方法
設定:
- 最初
IObservable
に型A の値を生成します - 2 番目
IObservable
は型Bの値を生成します - それらは異なるペースで価値を生み出します(非常に速く、最大10ミリ秒ごと)
私が達成しようとしていること:
N回 (N は約 500 ミリ秒と非常に遅い)ごとに、サービスに対して呼び出しを実行し、 FirstとSecond IObservable
の両方から最新の値を提供する必要があります。
質問: RX を使用してどのようにすればよいでしょうか。
現在の解決策(機能していない):
c# - 非ブロッキング ブロックからブロッキング コードを呼び出すときの制御の流れを理解していますか?
次のコードがあります
印刷する
プログラム内の制御の流れを理解するのを手伝ってくれる人はいますか? コールスタックなどを読んでみましたが、すべてを理解できませんでした。
EDIT なぜ私は代わりに上記の出力(私は正しいと思います)を得るのですか
system.reactive - XMLURLをIObservableに変換します
現在、毎秒ポーリングしているURL「http://test.com/data.xml」にXMLドキュメントがあります。
このXMLソースのプーリングをIObservable<XDocument>に変えたいと思います
system.reactive - Rx + WebRequest+XDocument.Loadを使用して変更された場合にのみXDocumentを取得します
私は次の2つの観測量を持っています
System.Net.WebRequest req = System.Net.HttpWebRequest.Create("http://test.com/data.xml");
req.Method = "HEAD";
var ob = Observable.FromAsyncPattern(req.BeginGetResponse, req.EndGetResponse);
ob().Select(x => x).Select(x => x.Headers["Last-Modified"]).DistinctUntilChanged(x => x);
Observable
.Interval(TimeSpan.FromSeconds(1.0))
.Select(_ => XDocument.Load("http://test.com/data.xml"));
XDocument observableは、「最終変更」ヘッダーが以前に要求されたドキュメントよりも大きい場合にのみ実行されるようにしたいと思います。
c# - Reactive Extensions (Rx) を使用しますが、Windows phone アプリケーションで System.Observable.DLL ファイルが見つかりませんか?
良い。私は Reactive Extensions (Rx) package async Request を使用していました。コードを書き始める前に、Windows Phone でのリアクティブ プログラミングに必要な 2 つの dll を含める必要があります。
そうだった:
System.Observable を使用して Microsoft.Phone.Reactive を使用する
Net Framework 4 で System.Observable.DLL ファイルが見つかりません。誰か提案がありますか?
haskell - 反応バナナFRPライブラリを理解するための推奨読書/チュートリアル
FRP (関数型リアクティブ プログラミング)のリアクティブバナナhaskell ライブラリに興味があります。リアクティブバナナの背後にある理論を理解するために、初心者に何を読むことをお勧めしますか? 私が理解しているように、この分野ではある程度の進歩があり、さまざまな FRP ライブラリがさまざまなアプローチを使用しているため、どの FRP 論文でも対応できるとは思いません。