Response Caching
• Response cache, keyed by query string, persisted to disk
• Optimistically render using cached response, but request still sent
extension ProductDetailsViewController: Relayable {
func handleRelayQuery(
query: ApiSchema.QueryRootQuery, response: ApiSchema.QueryRoot?,
error: GraphQueryError?, cached: Bool)
{
session.relayContainer.queryGraph(query: query, relayable: self)