Bird
0
0

Given the resolver chain below, what will be the final output of the query?

medium📝 query result Q4 of 15
GraphQL - Resolvers
Given the resolver chain below, what will be the final output of the query?
const resolvers = {
  Query: {
    user: () => ({ id: 1, name: 'Anna' })
  },
  User: {
    greeting: (parent) => `Hello, ${parent.name}!`
  }
};

Query:
{ user { greeting } }
A{ "user": { "greeting": "Hello, Anna!" } }
B{ "user": { "greeting": "Hello, undefined!" } }
C{ "user": { "greeting": "Hello, !" } }
DError: Cannot read property 'name' of undefined
Step-by-Step Solution
Solution:
  1. Step 1: Understand the Query resolver

    The Query resolver returns an object with id and name: { id: 1, name: 'Anna' }.
  2. Step 2: Understand the User.greeting resolver

    The greeting resolver receives the parent object and returns 'Hello, ' plus parent.name plus '!'.
  3. Final Answer:

    { "user": { "greeting": "Hello, Anna!" } } -> Option A
  4. Quick Check:

    Resolver chain output = { "user": { "greeting": "Hello, Anna!" } } [OK]
Quick Trick: Parent object passes data to nested resolver [OK]
Common Mistakes:
  • Assuming parent is undefined in nested resolver
  • Forgetting to return the correct string
  • Confusing resolver names or return values

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More GraphQL Quizzes