Оптимизация скрипта nodejs - PullRequest
0 голосов
/ 23 марта 2020

Я хочу оптимизировать свой сценарий, я все время вызываю свою базу данных для отображения содержимого в столбце по позиции (у каждого столбца есть позиция), это включает в себя то, что для отображения моей страницы требуется много времени:

    $scope.findElement = function(pers){

  patient.forEach(item =>{
    $scope.items_enattente_simulation.forEach(function(obj){ //this is a column
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_realise_simulation.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_enattente_contourage.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
          }
    });
    $scope.items_encours_contourage.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);



        }
    });
    $scope.items_realise_contourage.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_enattente_dosimetrie.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_encours_dosimetrie.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_enattentedevalidation_dosimetrie.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_valide_dosimetrie.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_enattente_cqpatient.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    // $scope.items_encours_cqpatient.forEach(function(obj){
    //     if(obj.ID == item.ID)
    //     {
    //       item.position = obj.position;
    //       $scope.sendPostData(item);
    //     }
    // });
    $scope.items_valide_cqpatient.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_enattente_programmation.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_programme_programmation.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });



    $scope.items_pretpourletraitement_traitement.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_encours_traitement.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });
    $scope.items_traite_traitement.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });

    $scope.items_enattente_archive.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });


    // $scope.items_encours_archive.forEach(function(obj){
    //     if(obj.ID == item.ID)
    //     {
    //       item.position = obj.position;
    //       $scope.sendPostData(item);
    //     }
    // });
    $scope.items_realise_archive.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });

   $scope.items_fin_archive.forEach(function(obj){
        if(obj.ID == item.ID)
        {
          item.position = obj.position;
          $scope.sendPostData(item);
        }
    });

  });
}

$scope.sendPostData = function(objet){

  $http({
     method  : 'POST',
     url     : 'http://10.10.2.35:3000/pers/add/modif',
       // set the headers so angular passing info as form data (not request payload)
     headers : { 'Content-Type': 'application/json' },
     data    : objet
   })
 }

Теперь у меня в базе данных более 1000 элементов, и загрузка страницы занимает много времени. Я хотел бы знать, какое решение лучше всего назвать один раз БД?

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...