Как запустить через разбитый на страницы API с Ax ios в Javascript / Node. js - PullRequest
0 голосов
/ 19 марта 2020

Абсолютный Javascript / Node noob, но я работаю над базовым c запросом API к стороннему SaaS провайдеру. В теле ответа API мне дано nextPage property, которое я хочу установить для запуска следующей страницы запроса (поскольку API разбит на страницы).

Однако у меня возникают проблемы с переназначением значения в правильной области видимости, чтобы в приведенном ниже примере с базисным кодом c я мог пробежать 3 страницы API. На данный момент это просто вызов первоначального значения baseUrl , которое было установлено снова и снова.

Я почти уверен, что это проблема с областью действия, и я не возвращаю значение из функции, но я не нашел способа сделать это, чтобы он корректно обновлял глобальную переменную. Как мне это сделать?

const axios = require('axios');

//Declare Variables

let poolId = '',
apiToken = '',
dataCenter = '',
headers = {
    'X-API-TOKEN': apiToken
},
baseUrl = `https://${dataCenter}.qualtrics.com/API/v3/directories/${poolId}/contacts`;


for(i=0; i<2; i++){


axios.get(baseUrl, { headers: headers})
  .then(function (response) {
    // handle success
    console.log(response.data.result.elements);
    console.log('action fired');
    baseUrl = response.data.result.nextPage;
  })
  .catch(function (error) {
    // handle error
    console.log(error);
  })
  .finally(function () {

  });
}
...