title: Apollo Client delays request
body: <p>I have a very weird issue with Apollo Client.</p>
  
  <p>We are using apollo-client@1.9.3 with react (react-apollo@1.4.16).
  In our project, we notice that apollo always wait for 1 to 2 seconds before sending the request.</p>
  
  <p>Below is a screenshot of the situation:</p>
  
  <p><a href="https://i.stack.imgur.com/JLKbr.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/JLKbr.jpg" alt="enter image description here"></a></p>
  
  <p>This is how our client config looks like:</p>
  
  <pre><code>    const customNetworkInterface = {
      query: request =&gt;
          fetch('/graphql', {
              method: 'POST',
              credentials: 'include',
              mode: 'cors',
              cache: 'default',
  
              headers: {
                  Accept: '*/*',
                  'Content-Type': 'application/json',
                  'X-Requested-With': 'XMLHttpRequest',
              },
              body: JSON.stringify({
                  ...request,
                  query: print(request.query),
              }),
          })
              .then(resp =&gt; resp.json())
              .then(({ data, errors }) =&gt; {
                  if (errors) {
                      const userErrors = errors
                          .filter(({ code }) =&gt; +code &gt;= 400 &amp;&amp; +code &lt;= 401)
                          .map(({ message }) =&gt; message)
                          .join('\n');
                      const serverErrors = errors
                          .filter(
                              ({ code }) =&gt; !code || (+code &lt; 400 &amp;&amp; +code &gt; 401)
                          )
                          .map(({ message }) =&gt; message)
                          .join('\n');
                      if (serverErrors.length &gt; 0) {
                          error(serverErrors);
                          if (isProduction) {
                              window.triggerAlert(
                                  'danger',
                                  'The server encountered an error. Our technical team has been notified.'
                              );
                          } else {
                              window.triggerAlert('danger', serverErrors);
                          }
                      } else if (userErrors.length &gt; 0) {
                          window.triggerAlert('danger', userErrors);
                      }
                  }
  
                  return { data, errors };
              }),
  };
  
  const networkInterface = createNetworkInterface({
      uri: '/graphql',
      opts: {
          credentials: 'same-origin',
      },
  });
  networkInterface.useAfter([
      {
          applyAfterware({ response }, next) {
              response
                  .clone()
                  .json()
                  .then(responseJson =&gt; {
                      if (responseJson.errors) {
                          error(
                              responseJson.errors
                                  .map(({ message }) =&gt; message)
                                  .join('\n')
                          );
                      }
                      next();
                  });
          },
      },
  ]);
  
  export const client = new ApolloClient({
      networkInterface: customNetworkInterface,
      queryDeduplication: true,
      addTypename: true,
  });
  </code></pre>
  
  <p>Then the query code is with react-apollo:</p>
  
  <pre><code>graphql(RaceResultsQuery, {
      props: ({ ownProps, data }) =&gt; ({
          race_results: _.get(data, 'me.my_race_results', []),
      }),
  }),
  </code></pre>