Merge pull request #1042 from onx2/onx2/dataloader-docs

Update Dataloader docs
This commit is contained in:
Sunli 2022-08-29 20:03:41 +08:00 committed by GitHub
commit 3ae4c7ca7a

View File

@ -7,7 +7,13 @@ Have you noticed some GraphQL queries end can make hundreds of database queries,
Imagine if you have a simple query like this: Imagine if you have a simple query like this:
```graphql ```graphql
query { todos { users { name } } } query {
todos {
users {
name
}
}
}
``` ```
and `User` resolver is like this: and `User` resolver is like this:
@ -90,11 +96,13 @@ impl Loader<u64> for UserNameLoader {
} }
} }
#[derive(SimpleObject)]
#[graphql(complex)]
struct User { struct User {
id: u64, id: u64,
} }
#[Object] #[ComplexObject]
impl User { impl User {
async fn name(&self, ctx: &Context<'_>) -> Result<String> { async fn name(&self, ctx: &Context<'_>) -> Result<String> {
let loader = ctx.data_unchecked::<DataLoader<UserNameLoader>>(); let loader = ctx.data_unchecked::<DataLoader<UserNameLoader>>();