/// <summary>
 /// 调用 CompositeDisposable 中存储的每个 Subject 的 onComplete 事件, 并清除所有订阅
 /// </summary>
 /// <param name="disposableList"> 订阅列表 </param>
 /// <typeparam name="TEventData"> 事件数据类型 </typeparam>
 /// <returns> 是否成功执行 OnComplete </returns>
 public static bool OnCompleted <TEventData>(this CompositeDisposable disposableList)
 {
     if (disposableList == null || disposableList.Count == 0)
     {
         return(false);
     }
     disposableList.ForEach <Subject <TEventData> >(subject => subject?.OnCompleted());
     disposableList.Clear();
     return(true);
 }