Привязка Sencha превышает ограничение цикла планировщика из-за дублирования идентификаторов, нарушающих процедуру сортировки - PullRequest
0 голосов
/ 24 сентября 2018

Я унаследовал код для сложного пользовательского интерфейса, который начал давать сбой под Sencha 6.5.Он использует унаследованную привязку viewmodel и достаточно сложен.

Пытаясь отладить через планировщик, я обнаружил, что его значение scheduledCount увеличивается двумя моими привязками, вызывающими scheduleItem().Однако эти привязки добавляются в планировщик в начале обработки с идентификаторами, которые дублируют идентификаторы, уже находящиеся в планировщике.Это не одно и то же, иначе все может работать.Они выглядят как клоны.

Подпрограмма планировщика sort() видит эти элементы и игнорирует их, полагая, что они уже отсортированы.Таким образом, я получаю 95 элементов в списке элементов планировщика, но только 93 элемента в его рабочей очереди.Метод notify() циклически перебирает очередь из 93 элементов, пытаясь найти два его элемента для работы, но не может их найти.Это повторяется до тех пор, пока значение cycleLimit не будет превышено и два запланированных элемента никогда не будут обработаны.

В следующий раз, когда пользователь нажимает кнопку, в планировщик добавляются еще два элемента, поэтому теперь в его списке элементов имеется 97 элементов.и 93 пункта в его рабочей очереди.И так далее.

Я подозреваю, что ошибка заключается в клонировании, но так сложно определить, какой фрагмент кода это делает!

Кто-нибудь видел это раньше?Есть ли простое решение или обходной путь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...