[backend] Refactor Task.ContinueWith(p => p.Result) calls to Task.ContinueWithResult
This commit is contained in:
parent
d50e821ce0
commit
091e7ba14d
2 changed files with 51 additions and 1 deletions
|
@ -94,7 +94,7 @@ public class UserController(
|
|||
.Paginate(pq, ControllerContext)
|
||||
.PrecomputeVisibilities(localUser)
|
||||
.ToListAsync()
|
||||
.ContinueWith(n => n.Result.EnforceRenoteReplyVisibility());
|
||||
.ContinueWithResult(res => res.EnforceRenoteReplyVisibility());
|
||||
|
||||
return await noteRenderer.RenderMany(notes, localUser, Filter.FilterContext.Accounts);
|
||||
}
|
||||
|
|
|
@ -62,4 +62,54 @@ public static class TaskExtensions
|
|||
{
|
||||
return (await task).ToList();
|
||||
}
|
||||
|
||||
public static async Task ContinueWithResult(this Task task, Action continuation)
|
||||
{
|
||||
await task;
|
||||
continuation();
|
||||
}
|
||||
|
||||
public static async Task<TNewResult> ContinueWithResult<TNewResult>(this Task task, Func<TNewResult> continuation)
|
||||
{
|
||||
await task;
|
||||
return continuation();
|
||||
}
|
||||
|
||||
public static async Task ContinueWithResult<TResult>(this Task<TResult> task, Action<TResult> continuation)
|
||||
{
|
||||
continuation(await task);
|
||||
}
|
||||
|
||||
public static async Task<TNewResult> ContinueWithResult<TResult, TNewResult>(
|
||||
this Task<TResult> task, Func<TResult, TNewResult> continuation
|
||||
)
|
||||
{
|
||||
return continuation(await task);
|
||||
}
|
||||
|
||||
public static async Task ContinueWithResult(this Task task, Func<Task> continuation)
|
||||
{
|
||||
await task;
|
||||
await continuation();
|
||||
}
|
||||
|
||||
public static async Task<TNewResult> ContinueWithResult<TNewResult>(
|
||||
this Task task, Func<Task<TNewResult>> continuation
|
||||
)
|
||||
{
|
||||
await task;
|
||||
return await continuation();
|
||||
}
|
||||
|
||||
public static async Task ContinueWithResult<TResult>(this Task<TResult> task, Func<TResult, Task> continuation)
|
||||
{
|
||||
await continuation(await task);
|
||||
}
|
||||
|
||||
public static async Task<TNewResult> ContinueWithResult<TResult, TNewResult>(
|
||||
this Task<TResult> task, Func<TResult, Task<TNewResult>> continuation
|
||||
)
|
||||
{
|
||||
return await continuation(await task);
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue