ΑZ
public static class JsHelper
{
public static async Task<object> Map<T>(this Task<T> task, Func<T, object> func)
{
object result = func(await task);
while (true)
{
if (result is Task t)
{
await t;
var taskType = t.GetType();
if (taskType.IsGenericType)
{
result = taskType.GetProperty(nameof(Task<object>.Result)).GetValue(t);
}
else
{
return null;
}
}
else
{
return result;
}
}
}
}