O assíncrono pode ser uma verdadeira chave inglesa nas engrenagens de nossos fluxos de trabalho de programação, apesar do fato de que o assíncrono é o padrão moderno do JavaScript. Embora async/await ajuda, às vezes há confusão sobre a maneira de ter uma única função que retorna um valor, quer ele exista ou precise de uma Promise para ser recuperado.
O principal a ser lembrado é que as funções declaradas como async
retornam automaticamente uma Promise, portanto, o senhor não precisa retornar explicitamente o conteúdo existente com Promise.resolve(content)
:
async function getValueOrFetch(ojbOrInfo) { // If the value exists, immediately return it if(ojbOrInfo) { return ojbOrInfo; } // Return the promise-based info return asyncFunctionToGetInfo(ojbOrInfo); }
Vamos dar uma olhada em um exemplo real: retornar o conteúdo em cache em vez de fazer um fetch
para recuperá-los:
const cache = { /* url: content */ }; // Async function that returns cached content or retrieves fresh content async function getInfo(url) { // Check for value in cache if (cache[url]) { // Return the content, no need for Promise.resolve return cache[url]; } // Get the content fresh const content = await fetch("https://www.facebook.com").then(r => r.text()); cache[url] = content; return content; }
Meu principal objetivo com esta postagem é fazer com que os senhores entendam que return Promise.resolve(data)
não é necessário com funções assíncronas – o senhor pode simplesmente retornar o valor e ele será envolvido em uma promessa!
Tags META do Facebook Open Graph
Não é segredo que o Facebook se tornou um importante gerador de tráfego para todos os tipos de sites. Hoje em dia, até mesmo as grandes corporações direcionam os consumidores para suas páginas do Facebook, em vez de para os sites corporativos diretamente. E, é claro, há widgets “Curtir” e “Recomendar” do Facebook em todos os sites. Um…
9 demonstrações de telas incríveis
O
<canvas>
tem sido uma revelação para os especialistas em visual entre nós. O Canvas fornece os meios para animações incríveis e eficientes com o bônus adicional de não usar Flash; em vez disso, esses desenvolvedores podem exibir suas incríveis habilidades em JavaScript. Aqui estão nove demonstrações inacreditáveis de canvas que…
Estilo específico do WebKit: -webkit-appearance
Recentemente, eu estava examinando o horrível código-fonte da página inicial do Google quando notei que os botões “Google Search” e “I’m Feeling Lucky” tinham uma definição de estilo que eu não tinha visto antes: -webkit-appearance. O valor atribuído ao estilo era “push-button”. Eles são botões para que…