Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何等待http请求_Angularjs_Ionic Framework - Fatal编程技术网

Angularjs 如何等待http请求

Angularjs 如何等待http请求,angularjs,ionic-framework,Angularjs,Ionic Framework,嗨,我需要做这两个http get…之后我需要把数据放在表中并显示出来…但不幸的是angular没有等待http请求。我该怎么做?在这个代码中? 非常感谢 $rootScope.chiamataUno = function() { var authdata = Base64.encode("DEMVSINT_ADMIN" + ":" + "Password01"); $http.defaults.headers.co

嗨,我需要做这两个http get…之后我需要把数据放在表中并显示出来…但不幸的是angular没有等待http请求。我该怎么做?在这个代码中? 非常感谢

      $rootScope.chiamataUno = function() {


                var authdata = Base64.encode("DEMVSINT_ADMIN" + ":" + "Password01");
                $http.defaults.headers.common["Authorization"] = "Basic " + authdata;
                $http.get('http://demvsint-as1-sd.services.eni.intranet:8001/CaseManager/P8BPMREST/p8/bpm/v1/queues/DV_ResponsabileBSDL/workbaskets/Responsabile BSDL/queueelements/?cp=DCMSVS_CONN1').success(function(response) {
                          console.log(response);

                $rootScope.rispostaUno = response.queueElements;
                $rootScope.risposta = response;

                $rootScope.responseJSON = JSON.stringify($scope.risposta);

                    var newArray = [];
                    $rootScope.newObjectJSON = []; 
                    $scope.newObject = [];



            for(var i=0;i<response.queueElements.length;i++){

                                  var newObject = {
                                  //forse togliere elementi e columns 
                                  //elementi:response.queueElements[i],
                                  caseFolderId:response.queueElements[i].caseFolderId.replace("{","").replace("}",""),
                                  caseTaskId:response.queueElements[i].caseTaskId.replace("{","").replace("}",""),
                                  stepName:response.queueElements[i].stepName,
                                  columns:response.queueElements[i].columns,
                                  DV_Caseidentifier_for_eni_OdA: response.queueElements[i].columns.DV_Caseidentifier_for_eni_OdA,
                                  DV_EBELP_ODA: response.queueElements[i].columns.DV_EBELP_ODA,
                                  DV_EINDT_ODA: response.queueElements[i].columns.DV_EINDT_ODA,
                                  DV_MATNR_TXZ01_POS_ODA: response.queueElements[i].columns.DV_MATNR_TXZ01_POS_ODA,
                                  DV_NAMECL_POS_ODA: response.queueElements[i].columns.DV_NAMECL_POS_ODA,
                                  DV_NETPR_WAERS_POS_ODA: response.queueElements[i].columns.DV_NETPR_WAERS_POS_ODA,
                                  DV_PEINH_POS: response.queueElements[i].columns.DV_PEINH_POS,
                                  DV_MENGE_MEINS_POS_ODA: response.queueElements[i].columns.DV_MENGE_MEINS_POS_ODA
                                };



                            //console.log("data "+ newObject.DV_EINDT_ODA);


                            var dataHold = []; 

                              if((newObject.DV_EINDT_ODA !== null) && (newObject.DV_EINDT_ODA !== "?")){
                                dataHold = newObject.DV_EINDT_ODA;              
                                dataHold = dataHold.split("/");
                                var dataCorrect = dataHold[2] + "/" + dataHold[1] + "/" + dataHold[0];
                                //console.log("dataCorrect "+ dataCorrect);
                              }else{
                                dataCorrect = newObject.DV_EINDT_ODA;
                              }

                                $rootScope.newObjectJSON.push(JSON.stringify(newObject));
                                //console.log("rootScope.newObjectJSON " + $rootScope.newObjectJSON);
                                //console.log("dettaglio " + newObject.DV_MENGE_MEINS_POS_ODA + " " + newObject.stepName + " " + newObject.DV_EINDT_ODA);

                                //console.log("rootScope.caseFolderId " + newObject[i].caseFolderId + " "+ newObject[i].stepName);
                                newArray.push(newObject);


                      var queryOdl = "INSERT INTO Tabella_OdL_Temp (caseFolderId, caseTaskId, stepName, DV_Caseidentifier_for_eni_OdA,DV_EBELP_ODA,DV_EINDT_ODA,DV_MATNR_TXZ01_POS_ODA,DV_NAMECL_POS_ODA,DV_NETPR_WAERS_POS_ODA,DV_PEINH_POS,DV_MENGE_MEINS_POS_ODA, Approvata, Rifiutata, Archiviata) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
                      $cordovaSQLite.execute(db, queryOdl, [newObject.caseFolderId === null ? "null" : newObject.caseFolderId.replace("{","").replace("}",""), newObject.caseTaskId === null ? "null" : newObject.caseTaskId.replace("{","").replace("}",""),newObject.stepName === null ? "null" : newObject.stepName, newObject.DV_Caseidentifier_for_eni_OdA === null ? "null" : newObject.DV_Caseidentifier_for_eni_OdA,newObject.DV_EBELP_ODA === null ? "null" : newObject.DV_EBELP_ODA, dataCorrect === null ? "null" : dataCorrect , newObject.DV_MATNR_TXZ01_POS_ODA === null ? "null" : newObject.DV_MATNR_TXZ01_POS_ODA,newObject.DV_NAMECL_POS_ODA === null ? "null" : newObject.DV_NAMECL_POS_ODA,newObject.DV_NETPR_WAERS_POS_ODA === null ? "null" : newObject.DV_NETPR_WAERS_POS_ODA,newObject.DV_PEINH_POS === null ? "null" : newObject.DV_PEINH_POS,newObject.DV_MENGE_MEINS_POS_ODA === null ? "null" : newObject.DV_MENGE_MEINS_POS_ODA, 0, 0, 0]).then(function(result) {
                      console.log("insert");
                      }, function(error) {
                       console.error(error);
                       });


            }//fine for response.queueElements

       //console.log(newObject[2]);


          for(var j = 0; j < newArray.length; j++){
           if(newArray[j].stepName !== "Item details"){
           var casefolderId = newArray[j].caseFolderId.replace("{","").replace("}","");                           
           chiamatadue.push('http://demvsint-as1-sd.services.eni.intranet:8001/CaseManager/CASEREST/v1/case/'+ casefolderId +'?TargetObjectStore=CM_DCMSVS_TGT_OBJ');
      }
    }


                   $rootScope.chiamataDueNuova();

                  }) .error(function(response) {
                      alert("ERROR");
                  });             
}


> Blockquote


var index = 0;

$rootScope.chiamataDueNuova = function(){

  if(chiamatadue.length > 0 && index < chiamatadue.length){
      var authdata = Base64.encode("DEMVSINT_ADMIN" + ":" + "Password01");
      $http.defaults.headers.common["Authorization"] = "Basic " + authdata;
    //inserire le autorizzazioni per la chiamata
    $http.get(chiamatadue[index]).success(function(result){
        index = index + 1;
        console.log(result);

        $scope.objJ = result.Properties;


        var objToInsertOnDB = {
            caseFolderId: "",
            DV_EBELN_ODA: "",
            DV_AEDAT_ODA: "",
            DV_EKGRP_EKNAM_ODA: "",
            DV_NAME_ODA: "",
            DV_NETPR_WAERS_ODA: "",
            DV_NAME_CR: "",
            DV_StatoPraticaOdA: "",
            DV_Caseidentifier_for_eni_OdA: "",
            DateCreated: "",
            DV_Caseidentifier_for_eni_OdA: ""
        };



        for(var i = 0; i < $scope.objJ.length; i++){
            var actualObj = $scope.objJ[i];
            //Ricerco gli elementi da trasmettere nella tabella Chiamata2
            if(actualObj['SymbolicName'] === 'DV_EBELN_ODA'){
                 objToInsertOnDB['DV_EBELN_ODA'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_AEDAT_ODA") {
                objToInsertOnDB['DV_AEDAT_ODA'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_EKGRP_EKNAM_ODA") {
              objToInsertOnDB['DV_EKGRP_EKNAM_ODA'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_NAME_ODA") {
              objToInsertOnDB['DV_NAME_ODA'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_NETPR_WAERS_ODA") {
              objToInsertOnDB['DV_NETPR_WAERS_ODA'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_NAME_CR") {
              objToInsertOnDB['DV_NAME_CR'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_StatoPraticaOdA") {
              objToInsertOnDB['DV_StatoPraticaOdA'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_Caseidentifier_for_eni_OdA") {
              objToInsertOnDB['DV_Caseidentifier_for_eni_OdA'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DateCreated") {
              objToInsertOnDB['DateCreated'] = actualObj['Value'];
            } else if (actualObj['SymbolicName'] === "DV_Caseidentifier_for_eni_OdA") {
              objToInsertOnDB['DV_Caseidentifier_for_eni_OdA'] = actualObj['Value'];
            }        
        }


        //setto nell'oggetto il caseFolderId
        objToInsertOnDB['caseFolderId'] = chiamatadue[index-1].replace("http://demvsint-as1-sd.services.eni.intranet:8001/CaseManager/CASEREST/v1/case/","").replace("?TargetObjectStore=CM_DCMSVS_TGT_OBJ","");

        console.log("caseFolderId " + objToInsertOnDB.caseFolderId);
        console.log("DV_AEDAT_ODA " + objToInsertOnDB['DV_AEDAT_ODA']);
        console.log("DV_NAME_CR " + objToInsertOnDB['DV_NAME_CR']);
        console.log("DV_StatoPraticaOdA " + objToInsertOnDB['DV_StatoPraticaOdA']);
        console.log("DV_EKGRP_EKNAM_ODA " + objToInsertOnDB['DV_EKGRP_EKNAM_ODA']);


          var cfId = objToInsertOnDB.caseFolderId;

                var queryOdl = "INSERT INTO Tab_OdL2_Temp(caseFolderId, DateCreated, DV_Caseidentifier_for_eni_OdA, DV_EBELN_ODA, DV_AEDAT_ODA, DV_EKGRP_EKNAM_ODA, DV_NAME_ODA, DV_NETPR_WAERS_ODA, DV_NAME_CR, DV_StatoPraticaOdA, Approvata, Rifiutata, Archiviata) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)";
                $cordovaSQLite.execute(db, queryOdl, [objToInsertOnDB.caseFolderId === null ? "null" : objToInsertOnDB.caseFolderId, objToInsertOnDB.DateCreated === null ? "null" : objToInsertOnDB.DateCreated, objToInsertOnDB.DV_Caseidentifier_for_eni_OdA === null ? "null" : objToInsertOnDB.DV_Caseidentifier_for_eni_OdA,objToInsertOnDB.DV_EBELN_ODA === null ? "null" : objToInsertOnDB.DV_EBELN_ODA, objToInsertOnDB.DV_AEDAT_ODA === null ? "null" : objToInsertOnDB.DV_AEDAT_ODA, objToInsertOnDB.DV_EKGRP_EKNAM_ODA === null ? "null" : objToInsertOnDB.DV_EKGRP_EKNAM_ODA, objToInsertOnDB.DV_NAME_ODA === null ? "null" : objToInsertOnDB.DV_NAME_ODA, objToInsertOnDB.DV_NETPR_WAERS_ODA === null ? "null" : objToInsertOnDB.DV_NETPR_WAERS_ODA, objToInsertOnDB.DV_NAME_CR === null ? "null" : objToInsertOnDB.DV_NAME_CR, objToInsertOnDB.DV_StatoPraticaOdA === null ? "null" : objToInsertOnDB.DV_StatoPraticaOdA, 0, 0, 0]).then(function(result) {
                console.log("insert Tab_OdL2_Temp");
                    }, function(error) {
                      console.error(error);
                      });


        $rootScope.chiamataDueNuova();

    });//fine get

  }//fine if
$rootScope.chiamatuno=function(){
var authdata=Base64.encode(“devsint_ADMIN”+:“+”Password01”);
$http.defaults.headers.common[“Authorization”]=“Basic”+authdata;
$http.get('http://demvsint-as1-sd.services.eni.intranet:8001/CaseManager/P8BPMREST/p8/bpm/v1/queues/DV_ResponsabileBSDL/workbaskets/Responsabile BSDL/queueelements/?cp=DCMSVS_CONN1')。成功(函数(响应){
控制台日志(响应);
$rootScope.rispostaUno=response.queueElements;
$rootScope.risposta=响应;
$rootScope.responseJSON=JSON.stringify($scope.risposta);
var newArray=[];
$rootScope.newObjectJSON=[];
$scope.newObject=[];
对于(var i=0;i块引号
var指数=0;
$rootScope.chiamataduenouva=函数(){
if(chiamatadue.length>0&&index
这是因为$http返回一个承诺。与所有承诺一样,它们有一个then方法,该方法在承诺被解析或拒绝时执行。

$http.get("/your/url").then(function(response) {

  // your code that does something with the response HERE

}).catch(function(failedResponse) {

  // non-200 response from your HTTP call

})
$q.all([one.promise, two.promise, three.promise]).then(function() {
    console.log("ALL INITIAL PROMISES RESOLVED");
});

var onechain   = one.promise.then(success).then(success),
    twochain   = two.promise.then(success),
    threechain = three.promise.then(success).then(success).then(success);

$q.all([onechain, twochain, threechain]).then(function() {
    console.log("ALL PROMISES RESOLVED");
});