function fetchData(key) { 
  if (cache(key)) { 
    return cache(key); 
  } else { 
    return new Promise(resolve => { 
      setTimeout(() => { data = { id: key, name: `New Item ${key}`, source: "DB" }; 
        cache(key) = data; 
      }, 500);
    }); 
  } 
}

Se isso atinge ou não, Promise.try Aceitará a chamada e roteará todos os erros para o bloco de captura:


Promise.try(() => fetchData("user:1")) 
  .then(data => console.log("Result 1 (from cache):", data))
  .catch(error => console.error("Error 1:", error.message));

Float16Array typeDArray

Esta atualização é descrita na especificação como “adicionado um novo Float16Array TypedArray gentil e também o relacionado DataView.prototype.getFloat16Assim, DataView.prototype.setFloat16e Math.f16round Métodos. ”

O tipo float16 é usado na computação de alto desempenho, onde o aplicativo precisa maximizar o uso da memória negociando pegada por precisão. Isso inclui aprendizado de máquina, que provavelmente é o driver para esta adição.

O JavaScript não adicionou um novo tipo numérico escalar. Ainda tem apenas Numbermas agora tem Float16Array Para manter coleções desse tipo. JavaScript Number usa o formato de ponto flutuante de 64 bits de precisão dupla; No entanto, nos casos em que você está usando grandes quantidades de números, onde menos precisão é aceitável (como nos pesos e vieses da rede neural), o uso de 16 bits pode ser uma grande otimização.