2017-05-22 2 views
1

J'essaie de trouver un moyen d'arrêter toutes les actions jusqu'à ce que la requête Ajax retourne des données. La requête appelle dans la méthode Application init().Suspendez toutes les actions sur l'application launch/init jusqu'à obtenir une réponse ajax

Exemple:

Ext.define('MyApp.Application', { 
    ... 
    init: function() { 
     // SUSPEND APP LOADING 
     Ext.Ajax.request({ 
      ... 
      success: function() { 
       // CONTINUE app loading 
      } 
     }) 
    } 
}); 

Juste je dois éviter toute action des contrôleurs dans l'App jusqu'à ce que la première demande retournera une réponse. suspendEvents n'est pas un moyen ... ou je l'utilise mal? Merci.

Répondre

1

Nous pouvons utiliser async:false option ajax, attendre demande ajax obtenir terminé

Essayez ceci:

Ext.define('MyApp.Application', { 
    ... 
    init: function() { 
     // SUSPEND APP LOADING 
     Ext.Ajax.request({ 
      ... 
      async: false, 
      success: function() { 
       // CONTINUE app loading 
      } 
     }) 
    } 
}); 

Il empêchera autre code, jusqu'à ce que la demande ajax complète

+0

me sentir stupide :) Thanx –

+0

@AndrewKoshkin bienvenue :) –