<\/P>
Talvez você já tenha ouvido falar deles, mas não tinha certeza do que são. Você, sem dúvida, tem usado eles no seu desenvolvimento com ArcGIS API for JavaScript o tempo todo e nem sabia. Talvez eles sejam a praga da sua existência e aumentem seus cabelos grisalhos. Ame-os ou odeie-os, mas aprenda a usá-los.<\/EM> Promises,<\/STRONG> eles fluem como rachaduras na parede<\/EM>.<\/P><\/P>Você pode ler mais sobre EcmaScript 2015 Promises aqui<\/A>. Aqui está a especificação<\/A>, se você estiver inclinado a lê-la. Quando eu digo que você provavelmente tem trabalhado com eles o tempo todo e nem sabia, vamos olhar o Guia para recuperar dados de um servidor web<\/A> na documentação da ArcGIS JS API. Veja todas as referências a coisas como doSomthing().then(function(){})<\/SPAN>. Isso é uma Promise<\/EM>. As Promises usadas na JS API são baseadas na Dojo Promise<\/A>, que existe há mais tempo do que a maioria das implementações de Promise. Por isso ela não tem todos<\/EM> os métodos definidos acima. Mas funciona tão bem quanto. Este módulo Promise é apenas a API para uma Promise. Na ArcGIS API for JavaScript, normalmente lidamos com Promises via dojo\/Deferred<\/A>. Alguns podem dizer que post do Sitepen para mais detalhes.
Como você pode ver, Promises e sua implementação em Deferred são bastante poderosas. Elas são ótimas ferramentas para uso com tarefas assíncronas. Uma coisa a lembrar é que Promises serão executadas imediatamente. Você apenas adia quando os resultados são tratados. Se quiser experimentar algumas outras técnicas que adiem a execução até que você esteja pronto, pode experimentar RxJS ou olhar algo como Folktales data.task que implementa um Future monad. Mas vou deixar essas maravilhas para você explorar.
Para mais dicas e truques de geodev, confira meu blog.
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.