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

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

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

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

Ext.Viewport.unmask();

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

Я использую Sencha Touch 2.3.0

1 ответ

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

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

Другие вопросы по тегам