
"Uncaught (in promise)": perché il tuo errore async sparisce dalla console
La differenza tra un'eccezione lanciata e una promise rejection non gestita, perché un try/catch attorno non sempre basta, e come catturare correttamente gli errori async.
Diego Betto · Consulenza tecnica per aziende
Sono Diego Betto, Co-Fondatore & CTO di PAPION. Con il mio team aiutiamo aziende, agenzie e team prodotto a progettare, sviluppare e mettere in sicurezza applicazioni React, Node.js e TypeScript scalabili.
Consulenza tecnica end-to-end, dal frontend alla sicurezza, per aziende che devono scalare senza sorprese.
Progettazione e scalabilità di applicazioni React, Next.js e Astro: componenti manutenibili, performance solide e meno debito tecnico nel tempo.
Sviluppo e ottimizzazione di API con Node.js, Fastify e TypeScript: servizi affidabili, pensati per reggere la crescita del business.
Affiancamento ai team di sviluppo per alzare la qualità del codice TypeScript/JavaScript, ridurre i bug in produzione e velocizzare l'onboarding.
Hardening applicativo, monitoraggio di dipendenze e CVE, ottimizzazione dei Core Web Vitals.

Mi chiamo Diego Betto, Co-Fondatore & CTO, senior full-stack engineer presso PAPION, con oltre 20 anni di esperienza. Lavoro da Udine, in Friuli, principalmente da remoto per clienti in tutta Italia. Mi occupo di architetture frontend e backend, sicurezza applicativa e mentoring di altri sviluppatori, con particolare esperienza su React, JavaScript/TypeScript e Node.js.
Scopri di più →Case study dettagliati in arrivo — nel frattempo, ecco i contesti in cui lavoriamo più spesso con PAPION.
Frontend React ad alto traffico e integrazioni con sistemi di gestione ordini.
Backend Node.js/Fastify per prodotti in crescita, con focus su sicurezza e osservabilità.
Code review, mentoring e hardening di sicurezza senza rallentare le consegne.
Note tecniche su React, Node.js, sicurezza e performance.

La differenza tra un'eccezione lanciata e una promise rejection non gestita, perché un try/catch attorno non sempre basta, e come catturare correttamente gli errori async.

shadcn/ui non è una libreria di componenti come le altre: non si installa, si copia. Come funziona la CLI, cosa fanno Radix UI e Tailwind sotto il cofano, e quando ha senso usarlo.

Perché compare 'TypeError: Cannot read properties of undefined (reading ...)', le tre cause più comuni, e come optional chaining e nullish coalescing lo prevengono.

Perché prima serviva Array.from() per usare map/filter su un iteratore, i nuovi metodi lazy per iteratori, e un esempio pratico con un generatore infinito.

TypeScript 7.0 riscrive il compilatore in Go: build 8-10x più veloci, nuovi default e breaking change. Cosa aspettarsi anche da TypeScript 7.1, in arrivo a novembre 2026.

Una guida pratica alla migrazione: come fare formattazione, parsing, aritmetica, differenze, confronti e conversioni di fuso orario in Temporal, mappati direttamente sulle chiamate di Moment/date-fns/Luxon/dayjs che già conosci.

Il problema di dimenticare di chiudere una risorsa quando c'è un'eccezione anticipata, come funzionano Symbol.dispose/Symbol.asyncDispose, e un confronto pratico con try/finally.
Raccontami la tua sfida tecnica: architettura, performance, sicurezza o un team da rinforzare. Rispondo personalmente a ogni email.