Я вижу несколько масок загрузки, когда два запроса Ajax вызываются параллельно

В моем приложении sencha touch всякий раз, когда я вызываю запрос Ajax, я устанавливаю маску загрузки на экране до тех пор, пока какой-либо ответ не будет отправлен обратно, но скажем, у меня одновременно выполняется более одного запроса Ajax, я вижу несколько масок загрузки. Как мне предотвратить это. Я пытался поставить галочку вроде

if(Ext.Viewport.getMasked()){
//bypass
}
else {
Ext.Viewport.setMasked({
                xtype: 'loadmask'
            });
}

Но это не работает, и когда запрос завершен, я делаю это

Ext.Viewport.unmask();

Но моя проблема в том, что я вижу две маски, если, например. два запроса выполняются параллельно. Есть ли способ предотвратить это.

Я использую Сенча тач 2.3.0


person Nick Div    schedule 14.08.2014    source источник


Ответы (1)


Ваша проблема может заключаться в том, что вы используете Ext.Viewport.getMasked вместо Ext.Viewport.getMasked(). В любом случае, если вы устанавливаете несколько масок нагрузки для одного и того же компонента (в данном случае для области просмотра), новая маска заменит старую. Скорее всего, вы устанавливаете эти маски для разных компонентов, поэтому вы видите более одной.

Вот ссылка на скрипт Sencha, показывающий, как заменяются маски загрузки Viewport. Если у вас все еще есть проблемы , пожалуйста, поделитесь кодом.

person OhmzTech    schedule 14.08.2014
comment
На самом деле я делаю getMasked() и нет, я всегда устанавливаю маску в окне просмотра, но вижу несколько масок. - person Nick Div; 15.08.2014
comment
Можете ли вы предоставить более полный код? Пример, который я предоставил на Fiddle, довольно прост, поэтому здесь должно быть что-то нестандартное. - person OhmzTech; 15.08.2014