Foros del Web » Programando para Internet » Javascript »

Como reconocer una variable context de un ciclo foreach dentro de una función

Estas en el tema de Como reconocer una variable context de un ciclo foreach dentro de una función en el foro de Javascript en Foros del Web. Buenos Días Comunidad Muchas Gracias por prestarme siempre la Ayuda que necesito en todo momento: En este instante me encuentro haciendo un ciclo el cual ...
  #1 (permalink)  
Antiguo 19/01/2015, 10:12
 
Fecha de Ingreso: octubre-2011
Ubicación: Niquitao
Mensajes: 28
Antigüedad: 13 años, 2 meses
Puntos: 0
Como reconocer una variable context de un ciclo foreach dentro de una función

Buenos Días Comunidad Muchas Gracias por prestarme siempre la Ayuda que necesito en todo momento:

En este instante me encuentro haciendo un ciclo el cual me ayudara a hacer un objeto de una palabra con respuesta JSON:
Código Javascript:
Ver original
  1. ['provider' : [{'idprovider': 1, nombre: "Tortas"}, {'idprovider': 2, nombre: "Pasteles"}],
  2. 'responsible': [{'idresponsible': 1, nombre: "Armando"}, {'idresponsible': 2, nombre: "Casas"}],
  3. 'product': [{'idproduct': 1, nombre: "Leche"}, {'idproduct': 2, nombre: "Sal"}]
  4. ]
Para hacer esto me vali del Ejemplo que esta en esta ruta:

[URL="https://docs.angularjs.org/api/ng/function/angular.forEach"]https://docs.angularjs.org/api/ng/function/angular.forEach[/URL]

Teniendo en cuenta lo anterior, hice lo siguiente:

Código Javascript:
Ver original
  1. $consulta= ['provider','responsible','product'];
  2.   var respuesta  = [];
  3.   angular.forEach($consulta, function(dato, key) {
  4.     this.push({key: dato });
  5.   },respuesta);
  6.   console.log(respuesta);

y esto me en la consola lo siguiente:
Código Javascript:
Ver original
  1. [{0:'provider'}, {1: 'responsible'},{2: 'product'}];

Pero lo que necesito es que me haga esto:

Código Javascript:
Ver original
  1. $consulta= ['provider','responsible','product'];
  2.   var respuesta  = [];
  3.   angular.forEach($consulta, function(dato, key) {
  4.      getregistries(dato,function(data){
  5.       //data.data me muestra los resultados común y corriente aquí no hay problema
  6.       this.push({dato:data.data});//Cuando Ejecuta aquí me pone el Problema pues no reconoce this que para este caso creo que sería la variable context del foreach llamada respuesta  
  7.     });
  8.   },respuesta);
  9. console.log(respuesta);
  10.  
  11. getregistries = function(table,callback){
  12.       $http({
  13.        method: 'GET',
  14.        url: 'obtener/'+table,
  15.       }).success(function(data){
  16.               return data;
  17.       }).then(callback);
  18.  };

Aquí me da un error pues me dice que this es indefinido, entonces quisiera saber como una variable context para este caso respuesta seria reconocible dentro de la Función getregistries dentro del Foreach.

Cualquier ayuda seía muy valiosa muchas Gracias..

Última edición por elpropiopato23; 19/01/2015 a las 11:57

Etiquetas: context, foreach, js, reconocer, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:30.