Ik voer een GP-taak uit via de Leaflet-Esri API die polygongeometrieën retourneert. Vervolgens voeg ik deze geometrieën samen met de standaard ArcGIS Server Geometry-hulpprogramma's via een L.esri.request-proces en het resultaat van de samenvoeging moet dan worden gebruikt in een laatste Leaflet GP-taakproces, dat asynchroon is en CORS gebruikt om een POST-verzoek af te dwingen. Het probleem is dat de laatste GP-taakoproep het taakresultaat (een URL-string naar een JSON-bestand) niet "detecteert", hoewel ik kan zien dat het wordt geretourneerd in de browser XHR-verzoeken en het resultaat zich in de ArcGIS Server GP-jobsmap bevindt. Het enige probleem dat ik heb opgemerkt is dat na de Union-taak de callback-ID voor de laatste GP-taak niet opnieuw wordt verhoogd en ik vermoed dat de Leaflet API probeert enkele van de vorige GP-taken resultaten op te halen. Is er een manier om de callback-ID voor de GP-taakresultaten te "resetten" om ervoor te zorgen dat de API probeert de juiste GP-taakresultaten op te halen.<\/P>
<\/P>
Hier is de code voor de laatste GP-taakoproep:<\/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>
Ik heb gemerkt dat wanneer ik de polygonresultaten van de Union-taak neem en de laatste GP-taak als een geïsoleerde functie daarmee uitvoer vóór een van de andere initiële GP-taken, er geen callback-functie-ID wordt toegevoegd aan het taakresultaatverzoek. Maar als ik de laatste GP-taak uitvoer na de initiële GP-taak en Union, wordt er een callback-functie-ID toegevoegd aan het resultaatverzoek die lijkt op een eerdere callback-ID van een GP-taakresultaatverzoek, en dan geeft het antwoord van het laatste GP-taakresultaat een foutmelding.