Функция объекта не имеет метода defer - PullRequest
6 голосов
/ 16 апреля 2011

Я пытаюсь визуализировать индикатор выполнения в сетке (Ext JS) и получаю эту ошибку:

Функция объекта не имеет метода defer

Что такоеэто "волшебный" метод?Что оно делает?И почему это не найдено?Код:

renderer: function (value, meta, rec, row, col, store){
    var id = Ext.id();
    (function(){
        new Ext.ProgressBar({
            renderTo: id,
            value: 0.5
        });
    }).defer(25);
    return '<span id="' + id + '"></span>';
}

Ответы [ 3 ]

10 голосов
/ 17 апреля 2011

Функция defer используется для задержки вызова функции на X миллисекунд. Попробуйте следующий синтаксис:

Ext.Function.defer(function(){
    new Ext.ProgressBar({
        renderTo: id,
        value: 0.5
    });
}, 25);

Это должно работать согласно документации ExtJS API .

2 голосов
/ 17 апреля 2011

Какую версию ExtJS вы используете?

Вы уверены, что все ExtJS загружены?Вы получаете ту же ошибку при запуске этого кода из командной строки браузера:

(function(){alert("Hello");}).defer(1000);
0 голосов
/ 04 июля 2015

Ext.defer или Ext.function.defer - это функция, аналогичная функции setTimeout javascript.

http://astutejs.blogspot.in/2015/06/extjs-what-is-extdefer.html

...