Estoy ejecutando una tarea GP a través de la API Leaflet-Esri que devuelve geometrías de polígonos. Luego uno estas geometrías con las utilidades estándar de geometría del ArcGIS Server mediante un proceso L.esri.request y el resultado de la unión debe usarse en un proceso final de tarea GP de Leaflet, que es asincrónico y usa CORS para forzar una solicitud POST. El problema es que la llamada final a la tarea GP no "detecta" el resultado de la tarea (una cadena URL a un archivo JSON), aunque puedo verlo siendo devuelto en las solicitudes XHR del navegador y el resultado está en la carpeta de trabajos GP del ArcGIS Server. El único problema que he detectado es que después de la tarea Union, el ID de callback para la última tarea GP no se incrementa nuevamente y sospecho que la API Leaflet está intentando obtener algunos resultados de tareas GP anteriores. ¿Hay alguna forma de "reiniciar" el ID de callback para los resultados de la tarea GP para asegurar que la API intente obtener los resultados correctos de la tarea GP?<\/P>
<\/P>
Aquí está el código para la llamada final a la tarea GP:<\/P>
var gpServiceTest = L.esri.GP.service({
url: myGPserviceURL,
path: "submitJob",
async:true,
asyncInterval:5,
useCors:true
});
var gpTaskTest = gpServiceTest.createTask();
gpTaskTest.setParam("Input_Polygon_String", rings);
gpTaskTest.setOutputParam('JSON_Features');
gpTaskTest.run(function(error, response, raw) {
loadjson(response.JSON_Features.url);
});<\/CODE><\/PRE>
<\/P>
He descubierto que cuando tomo los resultados del polígono de la tarea Union y ejecuto la tarea GP final como una función aislada con ellos antes de cualquiera de las otras tareas GP iniciales, no se añade un ID de función callback a la solicitud de resultados de la tarea. Sin embargo, si ejecuto la tarea GP final después de la tarea GP inicial y Union, se añade un ID de función callback, similar al ID callback de una solicitud previa de resultados de tarea GP, a la solicitud del resultado y es entonces cuando la respuesta de los resultados finales de la tarea GP da un error.<\/P>