Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

217
Vistas
Cómo los objetos para realizar el cálculo en angularjs

Estoy usando angularjs en mi proyecto.

Puedo obtener los registros de la base de datos y vincularlos en la página html. Aquí necesito obtener los datos de 4 colecciones en la base de datos, por lo que necesito realizar varias llamadas al servidor para obtener los datos. Cuando estoy asignando todo en variables de alcance separadas. Mi código de muestra está debajo

 var click = function(){ $http.get('/CalBuildingget').then(function (response) { $scope.ViewBuildings = response.data; }); for (i = 0; i < $scope.ViewBuildings.length; i++) { $http.get('/CalBuildingFloorget/'+ scope.ViewManageBuildings[i]._id).then(function (response) { $scope.floorDetails = response.data; }); }

Aquí necesito obtener pisos para cada edificio por su Id. y almacenarlos en el ámbito del edificio como un objeto de matriz y luego, por Id. de piso, recuperar de nuevo las unidades que nuevamente necesitan hacer llamadas al servidor y asignarlas dentro del ámbito.

¿Cómo puedo lograr eso? Primero realiza el bucle y luego inicia la llamada de construcción del servidor.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Debe obtener pisos en la devolución de llamada exitosa de la primera solicitud. Así que algo como esto.

 var click = function(){ $http.get('/CalBuildingget').then(function (response) { $scope.ViewBuildings = response.data; for (i = 0; i < $scope.ViewBuildings.length; i++) { $http.get('/CalBuildingFloorget/'+ scope.ViewManageBuildings[i]._id).then(function (response) { $scope.floorDetails = response.data; }); } });
over 4 years ago · Santiago Trujillo Denunciar

0

Estropeará todo el rendimiento de su aplicación con el enfoque que está utilizando, ¿está seguro de que desea enviar una llamada HTTP en bucle? Piense en un caso en el que tenga alrededor de 1000 registros, ¿podría permitirse enviar 1000 llamadas HTTP al servidor? en su lugar, ¿por qué no buscas FloorDetails en /CalBuildingget/ ?

Nunca envíe llamadas HTTP en bucle, piense en el ancho de banda de la red y el rendimiento de la aplicación.

over 4 years ago · Santiago Trujillo Denunciar

0

Para múltiples llamadas de servicio posteriores, siempre debe utilizar el concepto de promesa. conceptualmente debería ser como a continuación:

 function callServiceForEachItem() { var promise; angular.forEach(items, function(item) { if (!promise) { //First time through so just call the service promise = fakeService.doSomething(item); } else { //Chain each subsequent request promise = promise.then(function() { return fakeService.doSomething(item); }); } }); }

use este enlace para conocer las mejores prácticas realizar una llamada de servicio en cadena

puedes revisar esta discusión

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda