5 Replies Latest reply on Apr 20, 2011 7:29 AM by imran_issufo

    How to prevent "A request for the item is now pending."

    imran_issufo Level 1

      Hello guys,

       

       

      Im getting this error very often, is there any solution to this?

       

       

      Error: Item requested is not available. A request for the item is now pending.
          at mx.data::ConcreteDataService/resolveReference()[C:\depot\DataServices\trunk\frameworks\pr ojects\data\src\mx\data\ConcreteDataService.as:2203]
          at mx.data.utils::Managed$/getProperty()[C:\depot\DataServices\trunk\frameworks\projects\dat a\src\mx\data\utils\Managed.as:183]
          at sgrh::_Super_Empresa/get actividade()[C:\wlcds\sgrh\src\sgrh\_Super_Empresa.as:198]
          at mx.data.utils::Managed$/internalCompare()[C:\depot\DataServices\trunk\frameworks\projects \data\src\mx\data\utils\Managed.as:648]
          at mx.data.utils::Managed$/arrayCompare()[C:\depot\DataServices\trunk\frameworks\projects\da ta\src\mx\data\utils\Managed.as:696]
          at mx.data.utils::Managed$/internalCompare()[C:\depot\DataServices\trunk\frameworks\projects \data\src\mx\data\utils\Managed.as:608]
          at mx.data.utils::Managed$/http://www.adobe.com/2006/flex/mx/internal::compare()[C:\depot\DataServices\trunk\framewor ks\projects\data\src\mx\data\utils\Managed.as:522]
          at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::getDataListWithFillParams()[C:\depot\DataServi ces\trunk\frameworks\projects\data\src\mx\data\ConcreteDataService.as:3751]
          at mx.data::ConcreteDataService/internalFill()[C:\depot\DataServices\trunk\frameworks\projec ts\data\src\mx\data\ConcreteDataService.as:7178]
          at Function/<anonymous>()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\data\C oncreteDataService.as:1317]
          at mx.data::ConcreteDataService/fill()[C:\depot\DataServices\trunk\frameworks\projects\data\ src\mx\data\ConcreteDataService.as:1336]
          at mx.data::DataManager/fill()[C:\depot\DataServices\trunk\frameworks\projects\data\src\mx\d ata\DataManager.as:1560]
          at _Super_FuncionarioService/getByEmpresa()[C:\wlcds\sgrh\src\sgrh\_Super_FuncionarioService .as:341]
          at mz.mysoft.sgrh.telas::ListaFuncionarios/reset_clickHandler()[C:\wlcds\sgrh\src\mz\mysoft\ sgrh\telas\ListaFuncionarios.mxml:58]
          at mz.mysoft.sgrh.telas::ListaFuncionarios/__reset_click()[C:\wlcds\sgrh\src\mz\mysoft\sgrh\ telas\ListaFuncionarios.mxml:84]

       

       

       

      Regards,

      Imraan

        • 1. Re: How to prevent "A request for the item is now pending."
          tomj Adobe Employee

          ItemPending errors means that the data services client is going to fetch an item that was marked as lazy or load-on-demand.  This should be an expected event and handled by any AS code that touches an array collection that has lazy items in it.  For instance the AsyncListView component in Flex automatically handles these errors, as the the Halo DataGrig (mx:DataGrid).

           

          See the docs on ItemPending errors here: http://help.adobe.com/en_US/LiveCycleDataServicesES/3.1/Developing/WSc3ff6d0ea77859461172e 0811f00f6f6de-7ffcUpdate.html#WSc3ff6d0ea77859461172e0811f00f7045b-7f4aUpdate

           

          Tom

          • 2. Re: How to prevent "A request for the item is now pending."
            imran_issufo Level 1

            Hello Tom,

             

             

            im doing model driven develpment, my model class service classes , forms are all generated....  im getting that Error message i open two datagrids that call the same method of the service.

             

            i saw in the link that you posted

            " If you do not use data binding in conjunction with lazy loading, you can catch the ItemPendingError in your code and handle it accordingly."

             

            How do i do that?

             

            I want to prevent this Alerts, i want two handle this error.

             

            Im using tabmanager, i have two canvas that fetch data from the same service, when i open just one of them NOTHING happens, but when i open both at the same time i start getting those Alerts.

             

            This one of them, the other one is similar but without the FORM " <forms:MoedaForm"

             

             

             

            <?xml version="1.0" encoding="ISO-8859-1"?>
            <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
                       label="Moedas"
                       icon="@Embed('/assets/my/Work19.png')"
                       width="100%" height="100%" xmlns:rh="sgrh.*" xmlns:forms="sgrh.forms.*">
                <mx:Script>
                    <![CDATA[
                        import mx.controls.Alert;
                        import mx.events.FlexEvent;
                       
                        import sgrh.Moeda;
                       
                        protected function dataGrid_creationCompleteHandler(event:FlexEvent):void
                        {
                            getAllResult.token = moedaService.getAll();
                        }
                       
                    ]]>
                </mx:Script>
                <mx:HBox width="100%" height="100%" paddingBottom="10" paddingRight="10">
                    <forms:MoedaForm id="MoedaForm1" valueObject="{dataGrid.selectedItem as Moeda}">
                    </forms:MoedaForm>
                    <mx:DataGrid x="10" y="10" id="dataGrid" creationComplete="dataGrid_creationCompleteHandler(event)" dataProvider="{getAllResult.lastResult}">
                        <mx:columns>
                            <mx:DataGridColumn headerText="Código" dataField="codigo"/>
                            <mx:DataGridColumn headerText="Descrição" dataField="descricao"/>
                            <mx:DataGridColumn headerText="Símbolo" dataField="simbolo"/>
                        </mx:columns>
                    </mx:DataGrid>
                </mx:HBox>
                <mx:CallResponder id="getAllResult"/>
                <rh:MoedaService id="moedaService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"/>
               
            </mx:Canvas>

             

             

             

             

             

            thanx for the reply

             

            regards

            Imraan

            • 3. Re: How to prevent "A request for the item is now pending."
              PamColwell Adobe Employee

              > i saw in the link that you posted

              > " If you do not use data binding in conjunction with lazy loading, you can catch the ItemPendingError in your code and handle it accordingly."

               

              > How do i do that?

               

              There is an "Item pending errors" section in the page of the link that Tom posted with an example.

               

              In addition to this, in the version of Flex that you are using, you may have to issue the "moedaService.getAll()" on each tab's activate() explicitly.

               

              Cheers,

              Pam

              1 person found this helpful
              • 4. Re: How to prevent "A request for the item is now pending."
                imran_issufo Level 1

                Hello Pam,

                 

                thankx for the replay.

                I solved the problem.

                 

                 

                 

                Regards,

                Imraan

                • 5. Re: How to prevent "A request for the item is now pending."
                  imran_issufo Level 1

                  Hello Tom,

                   

                   

                  thankx for the replay.

                   

                   

                   

                   

                   

                  Regards,

                  Imraan