title: Await on an async function called with call or apply with Babel
body: <p>How do I <code>await</code> on <code>async</code> function called with <code>call</code> or <code>apply</code> with <code>Babel</code>?</p>
  
  <p>Below is an example, where <code>getOrders</code> is an <code>async</code> method of a <code>Service</code> class:</p>
  
  <pre><code>class Service() {
     async getOrders(arg1, arg2, arg3) {
        return await this.anotherService.getOrders(arg1, arg2, arg3);
     }
  }
  
  let service = new Service();
  // ...
  // Babel doesn't compile 
  // let stream = await service.getOrders.call(this, arg1, arg2, arg3);
  // producing SyntaxError: Unexpected token for await
  let stream = service.getOrders.call(this, arg1, arg2, arg3);
  stream.pipe(res); // obviously not working without await in the prev line
  </code></pre>