Understanding Defer

Been looking at the defer directive in the router and just got a quick question about it.

Currently i have this sort of schema

Service A

type Foo @key(fields: "id") {
      id: String!
      fKey: String! @inaccessible
      ...rest
 }

Service B

type Bar {
  id: String!
  someOtherField: String!
}

type Foo @key(fields:"id") {
  id: String!
  fKey: String! @external
  bar: Bar!  @requires(fields: "fKey")
}

where to resolve Foo.bar i would need access to Foo.fKey in the resolver, how would you go about this with using the defer directive?