Когда модель реального времени по какой-либо причине становится слишком большой, клиент реального времени выдает ошибку, например: «Ошибка: Class$S383: превышен предел размера модели. Используется: 10486181 байт; Предел: 10485760 байт в…»
Насколько я знаю, не существует задокументированного соответствующего gapi.drive.realtime.ErrorType, поэтому в настоящее время я использую следующее для его идентификации:
try {
changeModelInSomeWay(rtModel);
} catch (e) {
if (e && e.message && e.message.indexOf("Class$S383") > -1) {
// Model is just too darn big:
doSomething();
} else {
doSomethingElse(e);
}
};
... который, кажется, работает на данный момент, но кажется хрупким, подверженным изменениям и т. д.
ОБНОВИТЬ:
Да, это хрупко, теперь я видел идентичную ошибку, за исключением класса Class $ S390. Если кто-то все еще следит за тегом Realtime API, какой-то ответ будет очень признателен...
Каков правильный или, по крайней мере, надежный способ определить эту ошибку?
bytesUsed()
. Поскольку ограничение уже задано в 10485760 байт, возможно, вы можете сравнить уже использованные байты и ограничение в 10485760. - person gerardnimo   schedule 23.01.2016