Как исправить "Прекратить запускать этот скрипт?"оповещение по этому коду? - PullRequest
2 голосов
/ 06 января 2012

При запуске этого кода отображается предупреждение.filtereditem - это список управления DevExpress.Существующие элементы - это массив из 247 элементов.

function GetMessage(){
    var deletedItems = '';
    var count = existingItems.length;
    for (var i = 0; i < count; i++) {
        var item = existingItems[i].text;
        if (!filtereditem.FindItemByText(item)) {
            if (deletedItems != '') {
                deletedItems = deletedItems + ', ' + item;
            }
            else {
                deletedItems = item;
            }
        }
    }
    return deletedItems;
}

Ответы [ 2 ]

2 голосов
/ 06 января 2012

«Прекратить запускать этот скрипт?»оповещение обычно срабатывает, потому что выполнение некоторого кода вашего скрипта занимает много времени.

Если предположить, что оповещение вызвано вызовом функции GetMessage, для которой вы дали код, я могу предложитьВам следующее предложение:

У вас есть цикл for в этой функции.Есть три причины, по которым это может занять много времени.

1) Каждая итерация цикла может занимать много времени.

2) Может быть слишком много итераций, чтобыдаже если каждая итерация занимает очень короткое время, весь цикл занимает много времени.

3) Может случиться так, что хотя большинство итераций цикла занимает только короткое время, можетбыть некоторым значением вашей переменной цикла i, для которого код внутри цикла зависает или занимает очень много времени.

Вы можете использовать метод JavaScript getTime(), чтобы помочь себе определить, какой из этих трех случаевты имеешь дело сhttp://www.w3schools.com/jsref/jsref_gettime.asp

0 голосов
/ 09 января 2012

Спасибо всем за ценное предложение.

Я могу это исправить, проблема с FindItemByText () методами, я заменяю его на FindItemByValue () и теперь он работает нормально.

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