Estoy tratando de obtener datos del servicio de descanso usando 'esri/request'. Mi pregunta es cómo obtener datos de respuesta de esta solicitud y usarlos fuera de esto en otra función. Pero no se dé cuenta de cómo es posible a continuación fromOutSide() sin usar la variable de ventana.
https://developers.arcgis.com/javascript/3/jsapi/esri.request-amd.html
Finalmente encontré la forma de obtener variables desde fuera de .luego usando el código lang.hitch en el siguiente
define([ 'dojo', 'dojo/_base/declare', 'jimu/BaseWidget', 'dojo/_base/array', 'dojo/_base/lang', 'esri/request' ], function( dojo, declare, BaseWidget, array, lang, esriRequest, ) { // Run this.getMapService; getMapService: function() { var requestHandle = esriRequest({ url: "https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/0?f=pjson", content: { f: "json" }, handleAs: "json", callbackParamName: "callback" }); requestHandle.then(this.requestSucceeded, this.requestFailed); }, requestSucceeded: function(response, io) { let responseVar = response; console.log(responseVar); }, requestFailed: function(error, io) { console.log(error); }, fromOutSide: function() { // ? ? ? ? console.log(myVar); } }); Updated code: After lang.hitch I was able to use my variables inside .then ========================================================= define([ 'dojo/_base/lang', 'esri/request' ], function ( lang, esriRequest ) { return declare([BaseWidget], { getWindDirection: function () { this.requestHandleNode.innerHTML = ""; requestArgs = { url: this.config.windDirRestUrl, content: { f: "json" }, handleAs: "json", callbackParamName: "callback", }; esriRequest(requestArgs).then(lang.hitch(this, function (response) { this.requestSucceeded(response); }), lang.hitch(this, function (error) { this.requestFailed(error); }) ); }, requestSucceeded: function (response, io){ this.showWindDirection(response); }, requestFailed: function (error){ console.log(error); }, showWindDirection: function (response){ console.log(response) } }); });