title: Send asynchronous request without waiting the response using guzzle
body: <p>I have the following two functions</p>
  
  <pre><code>public function myEndpoint(){
      $this-&gt;logger-&gt;debug('Started');
      $this-&gt;guzzle-&gt;requestAsync('post', 'http://myurl.com/doNotWait')-&gt;wait();
      $this-&gt;logger-&gt;debug("I shouldn't wait");
  }
  
  public function doNotWait(){
      sleep(10);
      $this-&gt;logger-&gt;debug("You shouldn't wait");
  }
  </code></pre>
  
  <p>Now what I need to see in my logs is:</p>
  
  <pre><code>Started
  I shouldn't wait
  You shouldn't wait
  </code></pre>
  
  <p>But what I see </p>
  
  <pre><code>Started
  You shouldn't wait
  I shouldn't wait
  </code></pre>
  
  <p>Also I tried using the following ways:</p>
  
  <p><strong>Way #1</strong></p>
  
  <pre><code>public function myEndpoint(){
      $this-&gt;logger-&gt;debug('Started');
      $this-&gt;guzzle-&gt;requestAsync('post', 'http://myurl.com/doNotWait', ['synchronous' =&gt; false])-&gt;wait();
      $this-&gt;logger-&gt;debug("I shouldn't wait");
  }
  </code></pre>
  
  <p><strong>Way #2</strong></p>
  
  <pre><code>public function myEndpoint(){
      $this-&gt;logger-&gt;debug('Started');
      $this-&gt;guzzle-&gt;requestAsync('post', 'http://myurl.com/doNotWait');
  
      $queue = \GuzzleHttp\Promise\queue()-&gt;run();
      $this-&gt;logger-&gt;debug("I shouldn't wait");
  }
  </code></pre>
  
  <p>But the result is never the desired one. Any idea? I am using Guzzle 6.x.</p>