Results 1 to 2 of 2

Thread: syncronous calls

  1. #1
    Sencha User
    Join Date
    Jul 2012
    Posts
    235
    Vote Rating
    0
      0  

    Default syncronous calls

    Hi,
    How i will make a function syncronous.
    After calling a function i have some lines of code. But i want that after calling the function completely i should able to execute the bellow lines of code.
    Code:
     DGPPrefFilterStore.load({
                 params : {prefName : prefName},
                  scope : this,
                      callback: function(records, operation, success) {
    
                            var RegionPrefStr=DGPPrefFilterStore.last().data.region;
                            selectedRegion = RegionPrefStr.split(",");
                            controller.populateSubRegionAndCountry(selectedRegion);//function in another controller shown bellow
                            var regionDisplayField = Ext.getCmp('regionTip');
                            controller.setDisplayField(selectedRegion,regionDisplayField,maxRegion);
                            
                            var subRegionPrefStr=DGPPrefFilterStore.last().data.subRegion;
                            selectedSubRegion = subRegionPrefStr.split(",");
                            var subRegionDisplayField = Ext.getCmp('subRegionTip');
                             console.log("before pref dispaly gield"+selectedSubRegion);//should prin 2nd but printing first
           
                   
                              }
                            });
    
    
    populateSubRegionAndCountry : function(selectedRegion){
    
        var subRegionStore = Ext.data.StoreManager.lookup('deliveryGroupPerformances.SubRegionStore');
        var countryStore = Ext.data.StoreManager.lookup('deliveryGroupPerformances.CountryStore');
        selectedProcessingRegion = [];
        subRegionStore.removeAll();
         if(selectedRegion.length == 0 || selectedRegion.length == maxRegion){
                
                selectedProcessingRegion = "All";
            }
            else{
                selectedProcessingRegion.length = 0;
                for(var i = 0; i < selectedRegion.length; i++)
                selectedProcessingRegion.push("'"+selectedRegion[i]+"'");
                }
            alert(selectedProcessingRegion);
            subRegionStore.load({
                 params : {region : selectedProcessingRegion},
                 scope : this,
                 callback: function(records, operation, success) 
                 this.defaultSubRegion();  //calling to a defaultSubRegion function given bellow in same controller
               }
            });
        },
    
    
    defaultSubRegion : function(){
      
        var subRegionStore = Ext.data.StoreManager.lookup('deliveryGroupPerformances.SubRegionStore');
         maxSubRegion = subRegionStore.getCount();
         subRegionStore.queryBy(function(record) {
                    selectedSubRegion.push(record.get('subRegion'));
            });
         var subRegionDisplayField = Ext.getCmp('subRegionTip');
         console.log("before default dispaly field"+selectedSubRegion);//print satement should come firsr
      },
    Hierarchy is inside a callback() i have called populateSubRegionAndCountry() and have a print statement(say X). Inside the populateSubRegionAndCountry() there is another function which is calling defaultSubRegion() and inside defaultSubRegion() ihave another print statement(say Y).

    so i want to
    print X and then Y syncronously but getting the Y printed first then X

    How i make it syncronous call.

  2. #2
    Sencha - Sr Software Engineer mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    39,326
    Vote Rating
    1297
      0  

    Default

    I would stay away from sync requests. The reason is the browser will not allow any interaction while a request is being made then.
    Mitchell Simoens @LikelyMitch
    Sencha Inc, Senior Software Engineer
    ________________
    Learn BBCode and use it!

    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •