При использовании 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, ответ полностью пустой - как только белый - сообщения вообще нет.
Кажется, я мог бы решить эту проблему, разбив его на несколько небольших запросов, но мне не нужно было делать это раньше, поэтому я просто хочу убедиться, что я не кодирую ошибку.
Мой вопрос: кто-нибудь еще сталкивался с этой проблемой?
У кого-нибудь были проблемы с размером запросов раньше?
Есть ли другие предложения?