我希望在處理我的 observable 訂閱時收到通知(例如,命中斷點)。
有沒有簡單的方法來做到這一點?
uj5u.com熱心網友回復:
試試這個擴展方法:
public static IObservable<T> OnUnsubscribe<T>(this IObservable<T> source, Action unsubscribe) =>
Observable
.Create<T>(o =>
new CompositeDisposable(
source.Subscribe(o),
Disposable.Create(unsubscribe)));
試試這樣:
async Task Main()
{
IDisposable subscription =
Observable
.Interval(TimeSpan.FromSeconds(1.0))
.OnUnsubscribe(() =>
{
Console.WriteLine("/* break-point here */");
})
.Subscribe(x => Console.WriteLine(x));
await Task.Delay(TimeSpan.FromSeconds(2.5));
subscription.Dispose();
}
這會產生:
0
1
/* break-point here */
請注意,當可觀察物件自然結束時,這也會觸發。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/517208.html
下一篇:.NET6TimeZoneInfo.TryConvertWindowsIdToIanaId()確實回傳false