title: Fetching all stripe customers with async await
body: <p>I am trying to compile a list of all customers using the Stripe Node API. I need to make continual fetches 100 customers at a time. I believe that I need to use a Promise within the API call to use async await, but I can't for the life of me figure out where to put it.  Hoping to make this gist public use and I want to get it right, thanks.</p>
  
  <pre><code>getAllCustomers()
  
  function getMoreCustomers(customers, offset, moreCustomers, limit) {
    if (moreCustomers) {
      stripe.customers.list({limit, offset},
        (err, res) =&gt; {
          offset += res.data.length
          moreCustomers = res.has_more
          customers.push(res.data)
          return getMoreCustomers(customers, offset, moreCustomers, limit)
        }
      )
    }
    return customers
  }
  
  async function getAllCustomers() {
    const customers = await getMoreCustomers([], 0, true, 100)
    const content = JSON.stringify(customers)
    fs.writeFile("/data/stripe-customers.json", content, 'utf8', function (err) {
        if (err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    });
  }
  </code></pre>