I have a function that makes an ajax call and resolves a promise with the result. Unfortunately the API limits results to 100 and I need to use an offset parameter to get the next 100 and so on. How can I make all the needed ajax calls (the API response provides the total number of values so I can determine the number of calls to make) before resolving the promise?
Here is function I was using to just get the first 100 and then resolve:
let currentOffset = 0;
let totalCount;
let offsetCount;
const makeCall = function(camp) {
return new Promise(function(resolve, reject) {
api.get(camp, currentOffset, e => {
totalCount = e.totalCount;
offsetCount = Math.floor(totalCount / 100)
let payload = e.payload;
for (var a in payload) {
myArray.push({
'id': payload[a].id,
'text': payload[a].text,
'url': ads[a].url,
});
}
resolve();
});
});
};