<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic esri.request method not returning deferred object in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/esri-request-method-not-returning-deferred-object/m-p/179391#M16619</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using esri.request method to do adds, deletes, edits to a feature service in my app. And to add attachments. The behavior I'm experiencing is that the callback functions I am defining are fired immediately instead of waiting for the request to complete. The callback function for successful requests is supposed to refresh the map service, which it does, but too soon, and thus does not display the new data. Also, the function for failed requests gets fired even on successful requests.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is an example section of code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function delIncident() { &amp;nbsp; var feature = map.infoWindow.getSelectedFeature();&amp;nbsp; &amp;nbsp; var incidentID = feature.attributes.incidentID; &amp;nbsp; var url = esri.urlToObject("http://.../FeatureServer/1/applyEdits?deletes=" + String(incidentID) + "&amp;amp;f=json"); &amp;nbsp; var requestHandle = esri.request({&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; url: url.path, &amp;nbsp;&amp;nbsp;&amp;nbsp; content: url.query&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }, {useProxy:true, usePost:true});&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; requestHandle.then(reqSucceeded('delIncident'), &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reqFailed('delIncident') &amp;nbsp;&amp;nbsp;&amp;nbsp; ); }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can make this work by using the javascript setTimeout method (to have the callback methods called only after a short delay), but I believe I should not have to do this. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The weird part is that this was all working as expected at one point. Perhaps something I changed in another part of the code caused this but I can't find it if so.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using AGS 10.0 and jsapi 2.8.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyone have an idea what's wrong here?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 07 Jun 2013 03:35:41 GMT</pubDate>
    <dc:creator>ZorbaConlen</dc:creator>
    <dc:date>2013-06-07T03:35:41Z</dc:date>
    <item>
      <title>esri.request method not returning deferred object</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/esri-request-method-not-returning-deferred-object/m-p/179391#M16619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using esri.request method to do adds, deletes, edits to a feature service in my app. And to add attachments. The behavior I'm experiencing is that the callback functions I am defining are fired immediately instead of waiting for the request to complete. The callback function for successful requests is supposed to refresh the map service, which it does, but too soon, and thus does not display the new data. Also, the function for failed requests gets fired even on successful requests.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is an example section of code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function delIncident() { &amp;nbsp; var feature = map.infoWindow.getSelectedFeature();&amp;nbsp; &amp;nbsp; var incidentID = feature.attributes.incidentID; &amp;nbsp; var url = esri.urlToObject("http://.../FeatureServer/1/applyEdits?deletes=" + String(incidentID) + "&amp;amp;f=json"); &amp;nbsp; var requestHandle = esri.request({&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; url: url.path, &amp;nbsp;&amp;nbsp;&amp;nbsp; content: url.query&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }, {useProxy:true, usePost:true});&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; requestHandle.then(reqSucceeded('delIncident'), &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reqFailed('delIncident') &amp;nbsp;&amp;nbsp;&amp;nbsp; ); }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can make this work by using the javascript setTimeout method (to have the callback methods called only after a short delay), but I believe I should not have to do this. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The weird part is that this was all working as expected at one point. Perhaps something I changed in another part of the code caused this but I can't find it if so.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using AGS 10.0 and jsapi 2.8.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyone have an idea what's wrong here?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Jun 2013 03:35:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/esri-request-method-not-returning-deferred-object/m-p/179391#M16619</guid>
      <dc:creator>ZorbaConlen</dc:creator>
      <dc:date>2013-06-07T03:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: esri.request method not returning deferred object</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/esri-request-method-not-returning-deferred-object/m-p/179392#M16620</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You are invoking your functions instead of passing them as arguments (callbacks) to esri/request's then method. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's passing your functions as arguments:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;requestHandle.then( reqSucceeded, reqFailed );&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's what you're doing:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;requestHandle.then( reqSucceeded('delIncident'), reqFailed('delIncident') );&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See the difference? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you need to inject arguments to reqSucceeded and/or reqFailed, use &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dojotoolkit.org/reference-guide/1.9/dojo/_base/lang.html#dojo-base-lang-partial" rel="nofollow" target="_blank"&gt;lang.partial&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Jun 2013 04:21:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/esri-request-method-not-returning-deferred-object/m-p/179392#M16620</guid>
      <dc:creator>derekswingley1</dc:creator>
      <dc:date>2013-06-07T04:21:26Z</dc:date>
    </item>
    <item>
      <title>Re: esri.request method not returning deferred object</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/esri-request-method-not-returning-deferred-object/m-p/179393#M16621</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, I see. Thanks for the tip.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Jun 2013 13:41:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/esri-request-method-not-returning-deferred-object/m-p/179393#M16621</guid>
      <dc:creator>ZorbaConlen</dc:creator>
      <dc:date>2013-06-10T13:41:32Z</dc:date>
    </item>
  </channel>
</rss>

