Node.js что мне нужно, синхронность или асинхронность?
node v7.6+ или транспайлим бабелем async2generatorsfunction requestAsync(params) {
  return new Promise((resolve, reject) => {
    request(params, (err, response, body) => {
      if(err) { return reject(err); }
      resolve({response, body});
    });
  });
}

async function getURL(_url) {
  var data, url = _url;
  do {
    const {body} = await requestAsync({url});
    data = JSON.parse(body);
    url = _url + '&pageToken=' + data.nextPageToken;
  } while(data.nextPageToken !== undefined);
  return data;
}
Есть решение, вот такоеvar page = 2,
    lastPage = 100;

async.whilst(function () {
  return page <= lastPage;
},
function (next) {
  request("http://some_json_server.com/data?page=" + page, function (error, response, body) {
    if (!error && response.statusCode == 200) {
      store_data(body)
    }
    page++;
    next();
  });
},
function (err) {
  // All things are done!
});
Но подключается сторонний пакет Async, и хотелось бы без нее как-то обойтись.
Вроде в javascript были async, await, но не особо получается их использоватьawait request({}, function(){})