Skip to content

Commit 7dab94a

Browse files
committed
Removed ResolveAsync from FieldType, removed restriction that resolve needs to return Task<object>, will accept any Task<T> now.
1 parent 8f90aba commit 7dab94a

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

src/GraphQL/Execution/DocumentExecuter.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,15 @@ public async Task<object> ResolveField(ExecutionContext context, ObjectGraphType
131131
resolveContext.ParentType = parentType;
132132
resolveContext.Arguments = arguments;
133133
resolveContext.Source = source;
134-
var resolve = fieldDefinition.ResolveAsync ?? fieldDefinition.Resolve ?? defaultResolve;
134+
var resolve = fieldDefinition.Resolve ?? defaultResolve;
135135
var result = resolve(resolveContext);
136136

137-
if(result is Task<object>)
137+
if(result is Task)
138138
{
139-
result = await (result as Task<object>);
139+
var task = result as Task;
140+
await task;
141+
142+
result = GetProperyValue(task, "Result");
140143
}
141144

142145
if (parentType is __Field && result is Type)

src/GraphQL/Types/FieldType.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,5 @@ public class FieldType : IHaveDefaultValue
1818
public QueryArguments Arguments { get; set; }
1919

2020
public Func<ResolveFieldContext, object> Resolve { get; set; }
21-
22-
public Func<ResolveFieldContext, Task<object>> ResolveAsync { get; set; }
2321
}
2422
}

src/GraphQL/Types/GraphType.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ public void Field<TType>(
2626
string name,
2727
string description = null,
2828
QueryArguments arguments = null,
29-
Func<ResolveFieldContext, object> resolve = null,
30-
Func<ResolveFieldContext, Task<object>> resolveAsync = null)
29+
Func<ResolveFieldContext, object> resolve = null)
3130
where TType : GraphType
3231
{
3332
if (_fields.Exists(x => x.Name == name))
@@ -40,8 +39,7 @@ public void Field<TType>(
4039
Name = name,
4140
Type = typeof(TType),
4241
Arguments = arguments,
43-
Resolve = resolve,
44-
ResolveAsync = resolveAsync
42+
Resolve = resolve
4543
});
4644
}
4745

0 commit comments

Comments
 (0)