1 votos

Determinación de parámetros no válidos para el servicio de geoprocesamiento

Tengo un bucle que alimenta los parámetros para ejecutar servicios de geoprocesamiento sincrónicos. Cuando el bucle se ejecuta me da los resultados cuando recibe params válidos, y me da un error genérico para los params no válidos. El problema es que necesito saber qué parámetros no son válidos. Lleva mucho tiempo comprobar manualmente qué parámetros son inválidos cuando el bucle se ejecuta más de 1000 veces. ¿Hay alguna manera de personalizar el mensaje de error para incluir los parámetros que causaron el error?

this.gp = new Geoprocessor("http://xxx");
this.own(on(this.gp, 'execute-complete', lang.hitch(this, this.onExecutethis)));
        this.own(on(this.gp, 'error', lang.hitch(this, this.onError)));

onError: function (error) {
-----
}

-----
-----
for (i = 1; i < data.length; i++) {
    var params = {
              "var1": data[i][3],
              "var2": data[i][2]
            };
     this.gp.execute(params);
}

onExecutethis:function (results){
----
----
}

1voto

STuDuNt Puntos 8

Podrías pasar parámetros extra a la llamada de retorno de error para saber cuándo falla el geoproceso. Intenta algo como esto,

for (let i = 1; i < data.length; i++) {
  var params = {
    "var1": data[i][3],
    "var2": data[i][2]
  };
  this.gp.execute(
    params,
    lang.hitch(this, this.onExecutethis),
    lang.hitch(this, function(error) { this.onError(error, i); })
  );
}

Compruebe que uso let . Si no estás usando ES6, entonces creo que esto podría funcionar,

for (var i = 1; i < data.length; i++) {
  var params = {
    "var1": data[i][3],
    "var2": data[i][2]
  };
  this.gp.execute(
    params,
    lang.hitch(this, this.onExecutethis),
    lang.hitch(this, (function(error) {
      var j = i;
      return onError(error, j) { /*your function here*/ };
    })())
  );
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X