Индикатор занятости SAP UI5 - PullRequest
0 голосов
/ 25 мая 2018

Я хочу включить индикатор занятости всякий раз, когда кто-то нажимает на кнопку «Сохранить».Я написал код, следуя примерам демонстрационного набора.Он отлично работает, когда в корзине только несколько товаров, но если в корзине много товаров, индикатор занятости отображается после завершения вызова Odata и после успешного размещения заказа.Индикатор занятости не отображается сразу после нажатия кнопки.Есть идеи, почему это происходит?

hideBusyIndicator : function() {
            sap.ui.core.BusyIndicator.hide();
        },

showBusyIndicator : function (iDuration, iDelay) {
            sap.ui.core.BusyIndicator.show(iDelay);

            if (iDuration && iDuration > 0) {
                if (this._sTimeoutId) {
                    jQuery.sap.clearDelayedCall(this._sTimeoutId);
                    this._sTimeoutId = null;
                }

                this._sTimeoutId = jQuery.sap.delayedCall(iDuration, this, function() {
                    this.hideBusyIndicator();
                });
            },


onSaveButtonPressed: function() 
{
 this.showBusyIndicator(4000, 0);
},

1 Ответ

0 голосов
/ 25 мая 2018

Обычно занятый индикатор не работает для вызова ajax / odata менее 1 секунды.

Для этого используется

sap.ui.core.BusyIndicator.show ( 0 )

Передайте '0', чтобы запустить его немедленно и убедитесь, что все вызовы одатаны являются асинхронными .

...