Пакет Visual Studio вызывает ошибку JS без ссылки: Не удается получить доступ к переменной до ошибки инициализации. Кто — нибудь знает, как я могу это исправить?

#javascript #jquery #ajax #visual-studio

#язык JavaScript #jquery #аякс #visual-studio

Вопрос:

У меня есть запрос AJAX следующего содержания:

 $.ajax({  method: 'GET',  url: '/api/some-data',  headers: {  'Content-Type': 'application/json'  },  success: function(data) {    if (data != null) {  var userData = data;  for (var key of Object.keys(userData)) {   if (userData[key].BalanceYear == null) {  var accYear = "Today";  } else {  var accYear = userData[key].BalanceYear;  }  // ETC, ETC, ETC  

Это прекрасно работает. Однако, когда я объединяю его в Visual Studio, он преобразуется в:

 $.ajax({  method: "GET",  url: '/api/some-data',  headers: {  "Content-Type": "application/json"  },  success: function(n) {  var t, i, r, u, f, e;  if (n != null) {  t = n;  for (i of Object.keys(t))  r = t[i].BalanceYear == null ? "Today" : t[i].BalanceYear,  u = yearsArr.findIndex(n=gt;n === r),  u === -1 amp;amp; (yearsArr.push(r),  yearsArr.sort(function(n, t) {  return n - t  }));  const o = new Map;  for (const {AccountName: n, Amount: i, BalanceYear: t} of t)  o.has(n) || o.set(n, yearsArr.map(()=gt;0)),  f = t ? yearsArr.indexOf(t) : yearsArr.indexOf("Today"),  o.get(n)[f] = i;  function c(n, t) {  return v(n) || a(n, t) || h(n, t) || l()  }  // ETC, ETC, ETC  

Проблема, которую я получаю, заключается в том, что:

Ошибка неперехваченной ссылки: Не удается получить доступ к » t » до инициализации

на линии:

 for (const {AccountName: n, Amount: i, BalanceYear: t} of t)  

Поскольку у меня действительно нет контроля t , я не знаю, что делать, чтобы исправить это, особенно то, что t объявлено выше строки проблемы (я также пытался объявить t вне функции AJAX).

Кто-нибудь знает, что я могу сделать, чтобы это исправить?

Комментарии:

1. Не могли бы вы поделиться своим кодом, который преобразован в проблемную строку?

Ответ №1:

Я обнаружил, что это произошло из const -за того, что здесь

 for (const {AccountName: n, Amount: i, BalanceYear: t} of t)  

Я удалил его, и теперь он, кажется, работает. К сожалению, я не знаю логики, стоящей за этим.