/// <summary> /// 创建一个在目标 <see cref="T:UnityEngine.TaskExtension.UnityTask`1" /> 成功执行时异步执行的延续任务。 /// </summary> /// <typeparam name="TIn">该任务的参数的类型。</typeparam> /// <typeparam name="TResult">该任务的结果的类型。</typeparam> /// <param name="task">目标<see cref="T:UnityEngine.TaskExtension.UnityTask`1" /></param> /// <param name="continuation"> /// 在 <see cref="T:UnityEngine.TaskExtension.UnityTask`1" /> 完成时要运行的操作。 /// 在运行时,委托将作为一个参数传递给完成的任务。 /// </param> /// <returns> /// 一个新的延续 <see cref="T:UnityEngine.TaskExtension.UnityTask`1" />。 /// </returns> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="continuation" /> 参数为 <see langword="null" />。 /// </exception> public static UnityTask <TResult> OnSuccess <TIn, TResult>(this UnityTask <TIn> task, Func <UnityTask <TIn>, TResult> continuation) { return(task.OnSuccess((UnityTask t) => continuation((UnityTask <TIn>)t))); }
/// <summary> /// 创建一个在目标 <see cref="T:UnityEngine.TaskExtension.UnityTask`1" /> 成功执行时异步执行的延续任务。 /// </summary> /// <typeparam name="TIn">该任务的参数的类型。</typeparam> /// <param name="task">目标<see cref="T:UnityEngine.TaskExtension.UnityTask`1" /></param> /// <param name="continuation"> /// 在 <see cref="T:UnityEngine.TaskExtension.UnityTask`1" /> 完成时要运行的操作。 /// 在运行时,委托将作为一个参数传递给完成的任务。 /// </param> /// <returns> /// 一个新的延续 <see cref="T:UnityEngine.TaskExtension.UnityTask" />。 /// </returns> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="continuation" /> 参数为 <see langword="null" />。 /// </exception> public static UnityTask OnSuccess <TIn>(this UnityTask <TIn> task, Action <UnityTask <TIn> > continuation) { return(task.OnSuccess((UnityTask t) => continuation((UnityTask <TIn>)t))); }