ブロック機能を検討してください。this_thread :: sleep_for(milliseconds(3000));RXCPP:ブロック機能のタイムアウト
私は、次の動作を取得しようとしている:
Trigger Blocking Function
|---------------------------------------------X
私はブロッキング機能をトリガーにしたいし、それが(2秒以上)長すぎるがかかる場合、それはタイムアウトする必要があります。
私は次のことをやった:
my_connection = observable<>::create<int>([](subscriber<int> s) {
auto s2 = observable<>::just(1, observe_on_new_thread()) |
subscribe<int>([&](auto x) {
this_thread::sleep_for(milliseconds(3000));
s.on_next(1);
});
}) |
timeout(seconds(2), observe_on_new_thread());
私はこの仕事を得ることができません。まずは、別のスレッドからon_nextできないと思います。
私の質問は、これを行う正しい反応的な方法は何ですか? rxcppでブロック機能をラップし、タイムアウトを追加するにはどうすればよいですか?
Trigger Cleanup
|------------------------X
(Delay) Trigger Cleanup
|-----------------X
私はこれを行うことができると思ったもう一つの方法は次のとおりです。 '自動接続= timeout.amb(blocking_function_observable)' – jc211