Почему контрольный индикатор занятости не работает

Моя цель — показать контрольный индикатор занятости при отправке данных в моя функция создания oModel. Но я не вижу этого, возможно, из-за проблем с синхронизацией oModel. Он должен появиться перед вызовом oModel и исчезнуть, когда сработает функция fnSuccess. Я попытался использовать функцию создания синхронизации, например:

var fnSuccess = function(oData, oResponse) {
    oVbox.setBusy(false);
};
oVbox.setBusy(true);
oModel.create("sPath", serviceData, null, fnSuccess, fnError, true);

но все же я не вижу индикатор занятости управления. Также у меня такая же проблема с индикатором занятости. . Заранее спасибо.


person melomg    schedule 11.09.2015    source источник


Ответы (3)


попробуйте, oVbox.setBusyIndicatorDelay(0); затем oVBox.setbusy(true);

если это не сработает, попробуйте добавить небольшую задержку между setBusy и вызовом метода create. (с setTimeout)

person Tiago A.    schedule 12.09.2015
comment
спасибо, я немного изменил код, но я попробую, и я думаю, setTimeout сработает. - person melomg; 15.09.2015

Не обязательно, что оно будет приходить всегда. В основном это зависит от времени выполнения вашего кода.

person Aryan    schedule 11.09.2015
comment
но отправка данных и получение их параметров занимает много времени, и я думаю, что это должно произойти. - person melomg; 15.09.2015
comment
Если ваш код работает гладко, то зачем вам это? Он используется для кода, который требует много времени для обработки (в javascript есть только один поток), но в вашем случае он работает нормально. - person Aryan; 16.09.2015
comment
Но мне нужно показать своим клиентам этот индикатор занятости, так как они должны видеть это, чтобы знать, что процесс работает в фоновом режиме. Мои коды занимают много времени, и мои клиенты должны это видеть. - person melomg; 16.09.2015

Просто чтобы лучше понять проблему, вы можете установить значение .setBusy в true в функции успеха. Это поможет диагностировать вашу проблему, поскольку она может быть связана со скоростью загрузки.

e.g.

var fnSuccess = function(oData, oResponse) {
    oVbox.setBusy(true);
};
person Bernard    schedule 11.09.2015
comment
да @Bernard Я могу установить, и после установки я вижу индикатор занятости управления. - person melomg; 15.09.2015