Um dos grandes temas da Web atualmente é a simultaneidade, que leva à realização de tarefas de forma assíncrona. Ao fazer isso, pode ocorrer a possibilidade de vários erros. Em vez de fornecer um erro genérico, o ideal seria fornecer uma grande quantidade de informações sobre o erro. OAggregateError
permite que os desenvolvedores lancem vários erros em um único Error
. Vamos ver como isso funciona.
Para lançar um único erro que representa vários erros, vamos empregar AggregateError
:
const error = new AggregateError([ new Error('ERROR_11112'), new TypeError('First name must be a string'), new RangeError('Transaction value must be at least 1'), new URIError('User profile link must be https'), ], 'Transaction cannot be processed')
Lançando um AggregateError
obtém as seguintes informações:
error instanceof AggregateError // true error.name // 'AggregateError' error.message // 'Transaction cannot be processed' error.errors // The array of errors
Os AggregateError
é incrivelmente útil ao validar vários conjuntos de dados; em vez de lançar um erro de cada vez, o ideal é agrupá-los em um só! AggregateError
seria realmente útil em um Promise.any
situação. Erros comunicativos e ricos em informações FTW!
buscar API
Um dos segredos mais mal guardados sobre AJAX na Web é que a API subjacente a ele,
XMLHttpRequest
, não foi realmente criada para o uso que estamos fazendo dela. Fizemos bem em criar APIs elegantes em torno do XHR, mas sabemos que podemos fazer melhor. Nosso esforço para…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…
Cálculo de CSS
O CSS é um enigma completo; todos nós apreciamos o CSS por causa de sua simplicidade, mas sempre desejamos que a linguagem faça um pouco mais. O CSS evoluiu para acomodar marcadores de posição, animaçõese até mesmo clique em eventos. Um problema que sempre pensamos…