<?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 Re: Need help converting a DeferredList to use dojo/promise/all in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345654#M31904</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, John. I can see where this would be a costly operation but it is something we require. Fortunately, we are doing it on a limited number of layers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried code very similar to yours to no avail but I did get Ken's working. I may take a second look at yours as it is so similar to what I was doing and I hate being defeated. &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/laugh.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Dec 2014 22:25:32 GMT</pubDate>
    <dc:creator>AlanaBaker1</dc:creator>
    <dc:date>2014-12-02T22:25:32Z</dc:date>
    <item>
      <title>Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345648#M31898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: arial black,avant garde;"&gt;I need some help before I lose what shred of sanity I have left.&amp;nbsp; Let me start out by saying that I am pretty new to JavaScript and dojo. I am trying to rewrite our JS maps to AMD and have hit a wall when it comes to converting a DeferredList to the new dojo/promise API.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial black,avant garde;"&gt;Not to overwhelm you with code, I'll just paste a snippet of the "old" code (I am aware of converting to array.map etc. but just want to show what I'm starting with).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #0000c0; font-size: 10pt; background: white; mso-highlight: white; font-family: 'Courier New';"&gt;var&lt;/STRONG&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt; &lt;SPAN style="color: black;"&gt;tasks&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;dojo&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;layers&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;,&lt;/SPAN&gt; &lt;STRONG style="color: #0000c0;"&gt;function&lt;/STRONG&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: #0000c0;"&gt;return &lt;/STRONG&gt;&lt;STRONG style="color: #0000c0;"&gt;new&lt;/STRONG&gt; &lt;SPAN style="color: black;"&gt;esri&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;tasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;IdentifyTask&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;layer&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;url&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #5c5c5c;"&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: green;"&gt;//map each visible dynamic layer to a new identify task, using the layer url&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: #0000c0;"&gt;var &lt;/STRONG&gt;&lt;SPAN style="color: black;"&gt;defTasks&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;dojo&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;tasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;,&lt;/SPAN&gt; &lt;STRONG style="color: #0000c0;"&gt;function&lt;/STRONG&gt; &lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;task&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: #0000c0;"&gt;return &lt;/STRONG&gt;&lt;STRONG style="color: #0000c0;"&gt;new&lt;/STRONG&gt; &lt;SPAN style="color: black;"&gt;dojo&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;Deferred&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;();&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #5c5c5c;"&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: green;"&gt;//map each identify task to a new dojo.Deferred&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: #0000c0;"&gt;var &lt;/STRONG&gt;&lt;SPAN style="color: black;"&gt;dlTasks&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt; &lt;STRONG style="color: #0000c0;"&gt;new&lt;/STRONG&gt; &lt;SPAN style="color: black;"&gt;dojo&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;DeferredList&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;defTasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;//And use all of these Deferreds in a DeferredList&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&lt;SPAN style="color: black;"&gt;dlTasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;then&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;showIDResults&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN style="color: green;"&gt;//chain showResults nto your DeferredList ***PROBLEM HERE****&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;idParams&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;width&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;width&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;idParams&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;height&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;height&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;idParams&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;geometry&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;evt&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;mapPoint&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;idParams&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;mapExtent&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;map&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;extent&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;alert&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;tasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: #0000c0;"&gt;for &lt;/STRONG&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #004080;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;;&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;tasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;;&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;++)&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;{&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;//Use 'for' instead of 'for...in' so you can sync tasks with defTasks&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG style="color: #0000c0;"&gt;try &lt;/STRONG&gt;&lt;SPAN style="color: #5c5c5c;"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;tasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;].&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;execute&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;idParams&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;defTasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;].&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;callback&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;,&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;defTasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;].&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;errback&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;//Execute each task&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #5c5c5c;"&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #0000c0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch&lt;/STRONG&gt; &lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;e&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;)&lt;/SPAN&gt; &lt;SPAN style="color: #5c5c5c;"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;console&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;log&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #005c00;"&gt;"Error caught"&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;console&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;log&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;e&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: black;"&gt;defTasks&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;i&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;].&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;errback&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: black;"&gt;e&lt;/SPAN&gt;&lt;SPAN style="color: #5c5c5c;"&gt;);&lt;/SPAN&gt; &lt;SPAN style="color: green;"&gt;//If you get an error for any task, execute the errback&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #5c5c5c;"&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; line-height: 107%; font-family: 'Courier New'; font-size: 10pt; mso-highlight: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #5c5c5c;"&gt;}&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 107%; color: #5c5c5c; background: white; font-size: 10pt; mso-highlight: white; font-family: arial black,avant garde;"&gt;The showIDResults function expects an array of results from execution of the tasks.&amp;nbsp; This is were I'm having a problem. No matter what I try (and I've tried a lot of things) I end up with a Deferred or a Promise rather than actual results to pass to showIDResults.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 107%; color: #5c5c5c; background: white; font-size: 10pt; mso-highlight: white; font-family: arial black,avant garde;"&gt;Am I making any sense? Any help would be greatly appreciated!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2014 20:45:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345648#M31898</guid>
      <dc:creator>AlanaBaker1</dc:creator>
      <dc:date>2014-12-02T20:45:45Z</dc:date>
    </item>
    <item>
      <title>Re: Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345649#M31899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's an example from some code I have using dojo/promise/all (dojo/promise/all replacing deferredlist). I trimmed out unnecessary code.&lt;/P&gt;&lt;P&gt;Note that the deferreds have a 'promise' property you pass to 'all'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
//Execute 3 query tasks. store into 3 separate deferreds
var pointDeferred = pointQueryTask.execute(query);
var segmentDeferred = segmentQueryTask.execute(query);
var textDeferred = textQueryTask.execute(query);


// pass the an array of promises to all
all([pointDeferred.promise, segmentDeferred.promise, textDeferred.promise]).then(function(results){
&amp;nbsp; // results are returned as an array with the same order as the promises were passed
&amp;nbsp; var points = results[0].features;
&amp;nbsp; var segments = results[1].features;
&amp;nbsp; var text = results[2].features;

&amp;nbsp; console.log(results);

&amp;nbsp; },
&amp;nbsp; function(err){
&amp;nbsp; console.log("error");
});&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:16:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345649#M31899</guid>
      <dc:creator>MatthewLofgren</dc:creator>
      <dc:date>2021-12-11T16:16:49Z</dc:date>
    </item>
    <item>
      <title>Re: Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345650#M31900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In this code, I'm creating IdentifyTasks for all the visible layers (which come from different services) on my map.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function mapClickHandler(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerResultsGraphic.clear();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idPoint = evt.mapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layers = array.map(map.layerIds, function (layerId) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return map.getLayer(layerId);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layers = array.filter(layers, function (layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer.visibleLayers !== undefined) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer.visibleLayers[0] !== -1) { return layer.getImageUrl &amp;amp;&amp;amp; layer.visible; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var identifyParamsList = [];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array.forEach(layers, function (layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var idParams = new IdentifyParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.width = map.width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.height = map.height;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.geometry = evt.mapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.mapExtent = map.extent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.layerOption = IdentifyParameters.LAYER_OPTION_VISIBLE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.layerIds = layer.visibleLayers;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.tolerance = 3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.returnGeometry = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.spatialReference = map.spatialReference;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifyParamsList.push(idParams);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tasks = array.map(layers, function (layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new IdentifyTask(layer.url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var defTasks = array.map(tasks, function (task) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new Deferred();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var promises = [];

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; tasks.length; i++) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; promises.push(tasks&lt;I&gt;.execute(identifyParamsList&lt;I&gt;));&lt;/I&gt;&lt;/I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var allPromises = new all(promises);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allPromises.then(function (r) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showIdentifyResults(r, tasks, idPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:16:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345650#M31900</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2021-12-11T16:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345651#M31901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Alana,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; performing an Identify operation on many layers can be a costly operation and not something we'd generally recommend, you might want to take a step back and figure out if there's a better way to do what you need.&amp;nbsp; Regardless, here's a different way to aggregate many Identify calls using AMD style coding, this is NOT the exact code, just a guideline.&amp;nbsp; Also, you might have to modify 'showIDResults' as the response structure might be different.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;// What about sublayer ids?&amp;nbsp; Each layer might have different sublayer ids...
idParams.width = map.width;
idParams.height = map.height;
idParams.geometry = evt.mapPoint;
idParams.mapExtent = map.extent;

// arrayUtils = require("dojo/_base/array")
var executeDeferreds = arrayUtils.map(layers, function(layer) {
&amp;nbsp; // assumes each layer supports IdentifyTask
&amp;nbsp; var identifyTask = new IdentifyTask(layer.url);&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; return identifyTask.execute(idParams);
});

// all = require("dojo/promise/all")
all(executeDeferreds).then(showIDResults);&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:16:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345651#M31901</guid>
      <dc:creator>JohnGrayson</dc:creator>
      <dc:date>2021-12-11T16:16:55Z</dc:date>
    </item>
    <item>
      <title>Re: Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345652#M31902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It works! It works! IT WORKS!!!!! Ken, I can't thank you enough!!!!&amp;nbsp; Matthew, thank you as well; your information will be valuable to me in other aspects but Ken is doing exactly what I am trying to do.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have struggled with this for days!&amp;nbsp; May I ask you both, what is your source of knowledge on this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2014 21:48:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345652#M31902</guid>
      <dc:creator>AlanaBaker1</dc:creator>
      <dc:date>2014-12-02T21:48:57Z</dc:date>
    </item>
    <item>
      <title>Re: Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345653#M31903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I agree with &lt;A href="https://community.esri.com/migrated-users/9440"&gt;John Grayson&lt;/A&gt;‌ that this can be a slow operation, particularly if many layers are visible. However, this is what was required by our clients to examine all the features found at a point. Plus, I wanted to find out which service each result came from.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had the help of Esri support to figure this out.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2014 22:05:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345653#M31903</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2014-12-02T22:05:23Z</dc:date>
    </item>
    <item>
      <title>Re: Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345654#M31904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, John. I can see where this would be a costly operation but it is something we require. Fortunately, we are doing it on a limited number of layers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried code very similar to yours to no avail but I did get Ken's working. I may take a second look at yours as it is so similar to what I was doing and I hate being defeated. &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/laugh.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Dec 2014 22:25:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345654#M31904</guid>
      <dc:creator>AlanaBaker1</dc:creator>
      <dc:date>2014-12-02T22:25:32Z</dc:date>
    </item>
    <item>
      <title>Re: Need help converting a DeferredList to use dojo/promise/all</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345655#M31905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;EDIT:&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/confused.png" /&gt; ?? - GeoNet was showing this with no answers until after I posted this. Not sure why but hope this helps anyway.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the source code in &lt;A href="http://jsbin.com/pakomutiti" rel="nofollow noopener noreferrer" target="_blank"&gt;this sample&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically the sample takes a map click event and then creates 4 identify tasks 200m in each direction from the map click point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create multiple identify target points
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pts = [];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pts.push(event.mapPoint.offset(0, 200));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pts.push(event.mapPoint.offset(200, 0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pts.push(event.mapPoint.offset(0, -200));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pts.push(event.mapPoint.offset(-200, 0));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(pts);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create multiple identify tasks&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var tasks = [];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i=0;i&amp;lt;pts.length;i++){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tasks.push(singleIdentifyTask(pts&lt;I&gt;))&lt;/I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // this returns a single task (deferred)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function singleIdentifyTask(pt){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("Creating Identify Task: ", pt);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifyParams.geometry = pt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return identifyTask.execute(identifyParams);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code then runs the tasks within &lt;A href="http://livedocs.dojotoolkit.org/dojo/promise/all" rel="nofollow noopener noreferrer" target="_blank"&gt;dojo/promise/all&lt;/A&gt; and processes the results when all tasks are completed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Run tasks
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("Running Tasks");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; all(tasks).then(function(taskResults){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i=0;i&amp;lt;pts.length;i++){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(new Graphic(pts&lt;I&gt;, sms));&lt;/I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // results will be an Array
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("Results", taskResults);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // example: add each result to map
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i=0;i&amp;lt;taskResults.length;i++){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var taskResult = taskResults&lt;I&gt;;&lt;/I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var j=0;j&amp;lt;taskResult.length;j++){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(taskResult&lt;J&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/J&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(new Graphic(taskResult&lt;J&gt;.feature.geometry, sfs));&lt;/J&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // show identify points on map
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i=0;i&amp;lt;pts.length;i++){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.graphics.add(new Graphic(pts&lt;I&gt;, sms));&lt;/I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have placed console.log statements so you can open a developer console and view the objects as they are being created or used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Owen - &lt;A href="http://www.spatialxp.com.au/" rel="nofollow noopener noreferrer" target="_blank"&gt;SpatialXP&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:16:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-converting-a-deferredlist-to-use-dojo/m-p/345655#M31905</guid>
      <dc:creator>OwenEarley</dc:creator>
      <dc:date>2021-12-11T16:16:57Z</dc:date>
    </item>
  </channel>
</rss>

