Im Problem mit meinem Versprechen Iterieren durch und beende meine Parsercode:Node.js Promises Rekursion
let startFrom = 0,
totalRecords = 10000,
doneRecords = 0
const rows = 10
const parserRequests = function() {
if (startFrom <= totalRecords) {
setTimeout(function() {
getParserOffers(startFrom)
startFrom += rows
parserRequests()
}, 2000)
}}
const getParserOffers = function (start) {
request({
uri: domain + '/lucene/search/filter?minPrice=0.00&maxPrice=639.63&stock=all&cat=0&sortOrder=added+desc&start=' + start + '&rows=' + rows + '&steam_app_id=&steam_category=&steam_prod_type=&includeOutOfStock=&includeFreeGames=false',
json: true
}).then(response => {
const promises = response.docs.map(doc => getOffersData(doc))
return Promise.all(promises)
}).then(gamesList => {
doneRecords += rows
console.log('Done records: ', doneRecords)
if (doneRecords >= totalRecords) {
process.exit()
}
}).catch(error => {
console.error('ERROR: Server did not respond')
})}
In rekursiven parserRequests Funktion, die ich bis totalrecords iterieren und in getParserOffers nach Spieleübersicht bekommt ich iterieren auch jedes Mal, wenn es ist fertig. Das Problem ist, dass doneRecords auch 10000 Nummer erreichen sollte, um process.exit() auszuführen und das Programm zu stoppen, aber es wird nie ausgeführt, es stoppt zum Beispiel auf 9750. Was kann das Problem sein? Vielen Dank für Ihre Hilfe