Я переношу некоторый код из C#, который сильно зависит от Rx, и мне трудно найти эквиваленты C++ для некоторых из наиболее используемых методов C#.Создайте наблюдаемый, который вы можете отменить в RxCpp
В частности, я хочу создать наблюдаемое из логики подписки/отмены подписки. В C# я использую переопределение Observable.Create<TSource> Method (Func<IObserver<TSource>, Action>)
для создания наблюдаемого. Например
var observable = Observable.Create<int>(observer =>
{
observers.Add(observer);
return() =>
{
observers.Remove(observer)
};
});
Можно ли сделать то же самое с RxCpp? Я думаю, что ответ кроется в методе rx::observable<>::create(OnSubscribe os)
, но я не могу понять, как его использовать, чтобы «зарегистрировать» лямбда без подписки.
Хорошо, спасибо за пример. –
Итак, вы регистрируете обратный вызов для объекта-подписчика, а не для его возврата. Теперь я понимаю, большое вам спасибо. – Falanwe