Métodos como Promise.all
, Promise.allSettled
, Promise.race
e os demais são realmente excelentes para gerenciar várias promessas, permitindo que nossos aplicativos adotem a assíncrona e o desempenho. No entanto, há momentos em que limitar o número de operações simultâneas pode ser útil, como limitação de taxa ou simplesmente não querer colocar um servidor sob estresse maciço.
O senhor tem um utilitário simples para limitar a simultaneidade do Promise: pool
!
import pool from '@ricokahler/pool'; async function getQuotes() { const quotes = await pool({ collection: [1, 2, 3, 4, 5], maxConcurrency: 2, // Limit 2 requests at a time task: async (symbol) => { const response = await fetch(`/quotes/${symbol}`); const json = await response.json(); return json; }, }); console.log(quotes); // Array of the 5 quotes }
pool
permite que o senhor especifique quantas solicitações devem ser executadas simultaneamente. Se nenhum valor de simultaneidade for fornecido, pool
age como o Promise.all
.
A simultaneidade é um problema importante com a natureza assíncrona do JavaScript, portanto, é importante ter um método para agrupá-los e limitar as ações simultâneas.
7 Funções essenciais do JavaScript
Lembro-me dos primeiros dias do JavaScript, quando era necessário ter uma função simples para quase tudo, porque os fornecedores de navegadores implementavam recursos de forma diferente, e não apenas recursos de ponta, mas recursos básicos, como
addEventListener
eattachEvent
. Os tempos mudaram, mas ainda existem algumas funções que todo desenvolvedor deve…Escreva um JavaScript melhor com promessas
O senhor provavelmente já ouviu a conversa no bebedouro sobre como as promessas são o futuro. Todos os jovens descolados estão usando-as, mas o senhor não entende o que as torna tão especiais. O senhor não pode simplesmente usar um callback? Qual é o problema? Neste artigo, vamos…
Usar gráficos personalizados de imagens ausentes usando o MooTools
A falta de imagens em seu site pode fazer com que você ou sua empresa pareçam completamente amadores. Infelizmente, às vezes uma imagem é excluída ou corrompida sem o seu conhecimento. O senhor concorda comigo que o ícone “x vermelho” padrão do IE parece horrível, então por que não usar
 seu próprio gráfico de imagem ausente?
Plug-in de histórico do MooTools
Um dos motivos pelos quais gosto tanto da tecnologia AJAX é que ela nos permite evitar carregamentos de página desnecessários. Por que fazer o download do cabeçalho, do rodapé e de outros dados estáticos várias vezes se esses dados específicos nunca mudam? É um desperdício de tempo, processamento e largura de banda. Infelizmente…