Я пытаюсь получить все предложения от Hubspot, но по некоторым причинам я получаю ошибки для некоторых сделок. Ошибка имеет тип Cannot read property '89' of undefined.
Cannot read property '89' of undefined
var fetch = require("node-fetch"); getHubspotData('https://api.hubapi.com/deals/v1/deal/paged?hapikey=demo&properties=dealname&properties=dealstage&properties=closedate&properties=dealtype&properties=type&properties=hubspot_owner_id&properties=amount&properties=notes_last_updated&includeAssociations=true'); async function getHubspotData(url) { console.log("URL: " + url); var iterations = 0; for (let i = 0; i < 100; i++) { await fetch(url) .then((resp) => resp.json()) // Transform the data into json .catch((error) => { console.log("Error processing JSON: " + error) }).then(function (data) { console.log("Then-3"); iterations = iterations + 1; console.log("I: " + iterations); if ((data.hasMore == false) && (i == data.deals.length)) { console.log("Synced all Deals From Hubspot"); console.log("Program Terminating..........................................."); process.exit(); } if (data === undefined) { console.log("data is undefined//////////////////////////////////////////////////////////////////////"); fetch(url) .then((resp) => resp.json()) .then(function (data) { console.log(data.deals.length); } ) } else { console.log("data is NOT undefined"); } var dealId = data.deals[i].dealId; var dealName = data.deals[i].properties.dealname.value; console.log(dealName); offset = data.offset; hasMore = data.hasMore; dealLength = data.deals.length; if ((hasMore == true) && (i + 1 >= dealLength)) { console.log("NEW LOOP>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); var url = 'https://api.hubapi.com/deals/v1/deal/paged?hapikey=demo&properties=dealname&properties=dealstage&properties=closedate&properties=dealtype&properties=type&properties=hubspot_owner_id&properties=amount&properties=notes_last_updated&includeAssociations=true&offset=' + offset; getHubspotData(url); } }).catch((error) => { console.log("Error getting the deals //////////////////////////////////////////////////////////// " + error) }) }
И это кажется случайным. При одном выполнении это может привести к ошибке для сделки 69-Cannot read property '69' of undefined, а в следующий раз, когда я ее запущу, это приведет к ошибкам в некоторых других сделках. Я попытался использовать условие if, чтобы проверить, являются ли данные undefined, но это не помогает. Не уверен, почему я получаю эту ошибку и не могу найти способ ее исправить. Любая помощь по этому вопросу будет принята с благодарностью!
69-Cannot read property '69' of undefined
undefined