//示例查询
Field<XYZType, XYZ>()
.Name("xyz")
.Argument<NonNullGraphType<StringGraphType>>("param1", "desc")//Query parameter
.Argument<NonNullGraphType<StringGraphType>>("param2", "desc")//Query parameter
.Description("Get all data")
.ResolveAsync(ctx =>
{
IDataLoader<XYZ> loader = accessor.Context.GetOrAddLoader("xyz",
() => APiCall(param1, param2);
return loader.LoadAsync();
});
从官方文档中可以看出,GetOrAddLoader 提供缓存机制,无需批处理。但通常,在 LoadAsync() 函数中会提供一个 id。那么,如果我的数据来自外部 API 调用,缓存是如何工作的呢?