Таблицы Google API навсегда зависают после обновления Chrome 67 - PullRequest
0 голосов
/ 11 июня 2018

При использовании Google API gapi.client.sheets.spreadsheets.get браузер зависает на неопределенное время.Ни обработчик успеха, ни обработчик ошибок в обещании не разрешены.

Это началось только после обновления до Chrome 67, который был проверен на нескольких компьютерах с использованием одного и того же сценария и одной и той же электронной таблицы.До сих пор работает на 66, 65 и т. Д. Также работает с Firefox и Edge.Кажется, не работает с Internet Explorer по другой причине в коде API.

gapi.client.sheets.spreadsheets.get({
  spreadsheetId: sheetId,
  ranges: ['Sheet1!A1:I','Sheet2!A1:J', 'Sheet3!A1:I', 'Sheet4!A1:B'],
  includeGridData: true,
}).then(function(response) {
  console.log("Data loaded!")
  var range = response.result;

  if (range.sheets.length > 0) {      
    doStuff();
  } else {
    appendPre('No data found.');
  }
}, function(response) {
    console.log("Error!")
    appendPre('Error: ' + response.result.error.message);
});

Я бы ожидал увидеть из этого кода как минимум журнал с надписью «Data Loaded» или «Error», но этого просто не происходит.

Я заметил, что, похоже, существует какая-то корреляция между либо A. размером запроса, либо B. пустыми строками, включенными в запрос.

Единственноеконсоль говорит:

[Нарушение] Обработчик 'readystatechange' занял 537мсразмер запроса - 1 МБ, содержимое - 62,3 МБ.

Еще одна интересная вещь, которая, я надеюсь, не красная селедка, когда Firefox отображает данные ответа на запрос, появляется сообщение, в котором говорится:

"SyntaxError: JSON.parse: конец данных при чтении содержимого объекта в строке 29170 столбца 21 данных JSON"

Когда вы смотрите на ответ, он резко заканчивается в серединекода.Это заставляет меня верить, что да, ответ настолько велик, что он просто заканчивается, и что, возможно, Firefox способен справиться с этой странностью, но новая версия Chrome не может.

Несмотря на то, что я получаю код состояния 200 для запроса в Chrome, ответ полностью пустой - как только белый - сообщения вообще нет.

Кажется, я мог бы решить эту проблему, разбив его на несколько небольших запросов, но мне не нужно было делать это раньше, поэтому я просто хочу убедиться, что я не кодирую ошибку.

Мой вопрос: кто-нибудь еще сталкивался с этой проблемой?

У кого-нибудь были проблемы с размером запросов раньше?

Есть ли другие предложения?

...