Forwarded from queroser.ninja
#javascript
Agora com a nova feature
Mas nem tudo são flores: com Promises, nós tratamos os erros usando o método
Mas tem uma forma de contornar isso, vou te mostrar :D
Imagine que seu código hoje, usando
Dá pra elimir esse
Dá uma olhada nessa função
E, se por acaso der algum erro, nós retornamos um array com o erro no primeiro índice desse array.
E para usar essa função
Olha a diferença que ficou nossa função! Veja que na função
E esse array tem um padrão: o primeiro indice é sempre o objeto de erro. Se a promise resolve sem problemas, então nós passamos
Se der erro, só passamos o
Agora, para usar o
Como já tratamos o erro dentro da função
Super legal, não? :D
Eu tenho usado bastante essa ideia nos meus projetos!
A fonte foi esse artigo aqui: https://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/
Agora com a nova feature
async / await no JavaScript - que é um _sugar_ para Promises - nosso código pode ficar muito menor e mais legível =)Mas nem tudo são flores: com Promises, nós tratamos os erros usando o método
.catch. Como async / await simula um comportamento síncrono, a forma de tratar erros fica no estilo mais "tradicional", usando try / catch, o que é bem feio xDMas tem uma forma de contornar isso, vou te mostrar :D
Imagine que seu código hoje, usando
async / await, está assim:async function func () {
try {
const result = await promiseFunction()
// aqui vc faz alguma coisa com o resultado
} catch (e) {
console.error(e) // se der algum erro, vai cair aqui
}
}Dá pra elimir esse
try / catch de uma forma bem elegante, olha só:function to (promise) {
return promise
.then((result) => [null, result])
.catch((error) => [error])
}Dá uma olhada nessa função
to: Ela recebe uma promise, e aguarda o resultado dela - usando o .then. Quando a promise for resolvida, então nós retornamos um array com dois valores: null no primeiro índice, e o resultado - result - no segundo índice.E, se por acaso der algum erro, nós retornamos um array com o erro no primeiro índice desse array.
E para usar essa função
to, nós fazemos dessa forma:async function func () {
const [error, result] = await to(promiseFunction())
if (error) {
return console.error(e) // se der algum erro, vai cair aqui
}
// aqui vc faz alguma coisa com o resultado
}Olha a diferença que ficou nossa função! Veja que na função
to, nós já tratamos o erro usando .catch, então, se a promise resolver sem problemas, ou der erro, o próximo .then vai receber esse valor. No caso, o próximo .then vai receber o array retornado, ou pelo primeiro .then da função to, ou pelo .catch.E esse array tem um padrão: o primeiro indice é sempre o objeto de erro. Se a promise resolve sem problemas, então nós passamos
null no primeiro índice desse array, e o resultado no segundo.Se der erro, só passamos o
error no primeiro índice, e como não passamos o result, ele vai ser undefined :)Agora, para usar o
to, dentro da função func, nós só precisamos envolver nossa promise com essa função, e o retorno disso já vai ser um array!Como já tratamos o erro dentro da função
to, não precisamos do try/catch. Se der algum erro, esse erro vai estar na variável error, no primeiro índice do array onde criamos as variáveis error e result, utilizando a técnica de destructuring assignment :DSuper legal, não? :D
Eu tenho usado bastante essa ideia nos meus projetos!
A fonte foi esse artigo aqui: https://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/
Forwarded from Marco Bruno
Galera hoje às 22hrs pela twitch.tv/Marcobrunobr e YouTube.com/c/cololabcode começa curso Free e ao vivo de FrontEnd e boas práticas que vamos trocar conhecimento sobre #HTML, #CSS, um pouco de #JavaScript além de #ITCSS e #RSCSS. Cola ao galera e me ajuda a divulgar ;-)
Twitch
MarcoBrunoBR - Twitch
[PT-BR] Nova turma curso, Do Front ao End
VAGA: ANALISTA #DESENVOLVEDOR #FRONTEND
REGIÃO: Vila #Olímpia – SP
Faixa salarial: R$ 6.500,00 – 8.700,00
Contratação CLT + Pacote de benefícios bastante atrativo.
• Pessoas proativas para resolução de problemas e que trabalhem bem em equipe
• Flexibilidade para o aprendizado de novas tecnologias
Experiência Necessária:
• Conhecimento em frameworks #javascript #AngularJS (Grunt ou Gulp) ou #React (#Webpack)
• Conhecimento em #frameworks #CSS (SASS) #Bootstrap ou #Semantic
Diferenciais:
• Conhecimento em #ReactNative
• Controle de versão de #software (GIT)
• Conhecimento do modelo de testes unitários #junit, #karma, #jasmine ou #phantomjs
• Conhecimento de metodologias ágeis como #Scrum
• Desenvolvimento e implementação de funcionalidades para site e app
@GuiaDev
INTERESSADOS ENVIAR CURRÍCULO COM A PRETENSÃO SALARIAL PARA:
contato@rhgrandestalentos.com.br
REGIÃO: Vila #Olímpia – SP
Faixa salarial: R$ 6.500,00 – 8.700,00
Contratação CLT + Pacote de benefícios bastante atrativo.
• Pessoas proativas para resolução de problemas e que trabalhem bem em equipe
• Flexibilidade para o aprendizado de novas tecnologias
Experiência Necessária:
• Conhecimento em frameworks #javascript #AngularJS (Grunt ou Gulp) ou #React (#Webpack)
• Conhecimento em #frameworks #CSS (SASS) #Bootstrap ou #Semantic
Diferenciais:
• Conhecimento em #ReactNative
• Controle de versão de #software (GIT)
• Conhecimento do modelo de testes unitários #junit, #karma, #jasmine ou #phantomjs
• Conhecimento de metodologias ágeis como #Scrum
• Desenvolvimento e implementação de funcionalidades para site e app
@GuiaDev
INTERESSADOS ENVIAR CURRÍCULO COM A PRETENSÃO SALARIAL PARA:
contato@rhgrandestalentos.com.br
Forwarded from Marco Bruno
Na sexta meu pequeno passou mal e eu também por isso não tivemos a continuação dos 15 dias de #React ao vivo, mas estamos de volta, hoje às 21:47 continuamos as #lives pela http://twitch.tv/marcobrunobr e http://youtube.com/collabcode. Cola aí e divulgue para os amigos!
Twitch
Twitch is the world's leading video platform and community for gamers.
Forwarded from Marco Bruno
Subiu agora post novo no blog da CollabCode!
Template String é uma funcionalidade do #JavaScript que usamos muito no frameworks modernos como #React, #Angular e #Vue. Aprender ela vai te ajudar a entender de uma forma mais feliz quando for codar nesses frameworks na vida:
https://medium.com/collabcode/template-string-%C3%A9-top-demais-02-5d8964726a32
Template String é uma funcionalidade do #JavaScript que usamos muito no frameworks modernos como #React, #Angular e #Vue. Aprender ela vai te ajudar a entender de uma forma mais feliz quando for codar nesses frameworks na vida:
https://medium.com/collabcode/template-string-%C3%A9-top-demais-02-5d8964726a32
Medium
Como funciona o Template String? #02
Template String é uma das muitas funcionalidades do JavaScript Moderno. Em outras linguagens um recurso similar a este é chamado de…
Forwarded from Marco Bruno
Acabou de subir o post menos técnico que já escrevi na vida, mas é difícil não falar de #HTML, #CSS e #JavaScript. Nele estou contando 5 dicas que usei para realizar o meu maior sonho. Espero que essas 5 dicas também te ajude.
Lê lá e me diz o que você achou: https://medium.com/collabcode/5-dicas-para-voc%C3%AA-realizar-seus-sonhos-6c2c5a508e68
Lê lá e me diz o que você achou: https://medium.com/collabcode/5-dicas-para-voc%C3%AA-realizar-seus-sonhos-6c2c5a508e68
Medium
5 Dicas para você realizar seus sonhos
Estou vivendo meu maior sonho aos 31 anos de idade, hoje eu moro em Portugal a pouco mais de 25 dias com o pequeno (Henri), pequena (Luna)…
Forwarded from Marco Bruno
Comunidade! Se você perdeu a aula de ontem do curso ao vivo e graça de #HTML, #CSS e #JavaScript que estou fazendo na twitch.tv/marcobrunobr às 19:32 (BR) de segunda e terça. Não tem problema você pode assistir o episódio #04 no YouTube da CollabCode:
https://www.youtube.com/watch?v=TUyVirq713o
https://www.youtube.com/watch?v=TUyVirq713o
Twitch
Twitch is the world's leading video platform and community for gamers.
Forwarded from Marco Bruno
Hoje às 19:32 (Brasília) na #twitch (http://bit.ly/twitch-marcobrunobr-telegram) finalizaremos o nosso cadastro de usuário e começaremos o login. Tudo isso ao vivo e 100% de graça, em um projeto real e #opensource
Estamos fazendo o #backend e o #frontend com #JavaScript. Vem trocar conhecimento!
Estamos fazendo o #backend e o #frontend com #JavaScript. Vem trocar conhecimento!
Twitch
Twitch is the world's leading video platform and community for gamers.
@GuiaDev
No dia 15/11 vou estar no #DevelopersSergipe para falar um pouco mais de #JavaScript, #Node e #Kubernetes! Bora lá pessoal! https://lnkd.in/drKQx8f
No dia 15/11 vou estar no #DevelopersSergipe para falar um pouco mais de #JavaScript, #Node e #Kubernetes! Bora lá pessoal! https://lnkd.in/drKQx8f
Forwarded from Marco Bruno
Hoje curso de graça e ao vivo de #HTML, #CSS e #JavaScript com boas práticas:
🔴 Local: http://twitch.tv/marcobrunobr
🗓 Dia: 28/01/2020
⏰ Horário: 19:00 às 21:00 (Brasília)
📙 eBook grátis: http://bit.ly/ebook-curso-html-css-javascript
Chame uma pessoa para estudar com você! 😉
🔴 Local: http://twitch.tv/marcobrunobr
🗓 Dia: 28/01/2020
⏰ Horário: 19:00 às 21:00 (Brasília)
📙 eBook grátis: http://bit.ly/ebook-curso-html-css-javascript
Chame uma pessoa para estudar com você! 😉
@erickwendel: Chegou a hora de parar de usar callbacks em aplicações Javascript!
Mesmo em bibliotecas antigas, é possível converter para a abordagem mais nova do Javascript e melhor, usando tudo que há de novo na linguagem!
https://youtu.be/_gmXKsVS40s
Mesmo em bibliotecas antigas, é possível converter para a abordagem mais nova do Javascript e melhor, usando tudo que há de novo na linguagem!
https://youtu.be/_gmXKsVS40s
YouTube
Como Converter Callbacks em Promises em Javascript
Você provavelmente já conhece o que são funções assíncronas em Javascript e o quão problemáticas elas podem ser. Neste vídeo, você vai aprender a usar o módulos internos do Node.js para converter funções #Javascript de #Callback existentes em #Promises e…
Forwarded from Erick Wendel
Já que sexta-feira é dia de maldade, é também dia de polêmica! A mensagem deste video é "Pare de usar console.log" nele vou te mostrar alternativas e padrões para evitar a poluição de seu terminal com logs desnecessários!
https://bit.ly/consolelog-video-ew
Ah, e nao esquece de comentar sobre o que voce quer ver nos proximos videos! Te espero lá!! 👊
https://bit.ly/consolelog-video-ew
Ah, e nao esquece de comentar sobre o que voce quer ver nos proximos videos! Te espero lá!! 👊
YouTube
O que você precisa saber sobre console.log em aplicações Javascript!
Já se perguntou o motivo de não visualizar logs internos de módulos com o Express? Será que a galera não usa logs para depurar as aplicações como nós?
Este vídeo é um conjunto de dicas para você evitar console com informações desnecessárias nos seus programas.…
Este vídeo é um conjunto de dicas para você evitar console com informações desnecessárias nos seus programas.…
Forwarded from Erick Wendel
Para quem ainda não viu, fiz essa super video aula falando sobre padrões de projeto, estrutura de pastas, e uma API Completa sem frameworks! 100% gratuita e com conteúdo pra estudar para o resto do mês ahhaha
https://youtu.be/NxHY14rMPvc
https://youtu.be/NxHY14rMPvc
YouTube
Como construir uma Web API em Javascript sem frameworks || JS Expert || Erick Wendel
Você vai construir uma Web API completa em Node.js usando apenas os módulos internos do Node.js.
Vai usar o padrão de projeto N-Layers para estrutura do projeto. Vai usar o padrão repository para acesso a dados e os padrões Factory e Dependency Injection…
Vai usar o padrão de projeto N-Layers para estrutura do projeto. Vai usar o padrão repository para acesso a dados e os padrões Factory e Dependency Injection…
https://www.ddinstagram.com/reel/C4Ogom0vio0/?utm_source=ig_web_copy_link
Uma curiosidade aí pra vocês.
Uma curiosidade aí pra vocês.
❤4🤪3