This resolves a single query according to the options specified and
returns a Promise which is either resolved with the resulting data
or rejected with an error.
An object of type QueryOptions that allows us to
describe how this query should be treated e.g. whether it should hit the
server at all or just resolve from the cache, etc.
This resolves a single query according to the options specified and returns a
Promisewhich is either resolved with the resulting data or rejected with an error.