About Josh Goldberg
Open Source Developer

Hi, I'm Josh! I'm a frontend developer with a passion for open source, static analysis, and the web. I'm a full time open source maintainer and work on projects in the TypeScript ecosystem such as typescript-eslint and TypeStat. I'm also the author of the Learning TypeScript book, published by O'Reilly. My work focuses on bringing accessible education to the masses in a sustainable way.

I've been speaking at conferences since 2019, including in-person talks at All Things Open, HalfStack, LeadDev Berlin, StaffPlus NYC, and TSConf, as well as several dozen online conferences. You can most of my available talk slides and recordings at

https://www.joshuakgoldberg.com/#talks.
Connect with Josh
Linkedin
About Daniel
About Josh Goldberg
Open Source Developer
Université du Québec

Daniel Lemire is a computer science professor at the Data Science Laboratory of the University of Quebec (TELUQ). He is among the top 500 GitHub users worldwide and has published over 80 peer-reviewed research papers. He is an editor at the journal Software: Practice and Experience,

Hi, I'm Josh! I'm a frontend developer with a passion for open source, static analysis, and the web. I'm a full time open source maintainer and work on projects in the TypeScript ecosystem such as typescript-eslint and TypeStat. I'm also the author of the Learning TypeScript book, published by O'Reilly. My work focuses on bringing accessible education to the masses in a sustainable way.

I've been speaking at conferences since 2019, including in-person talks at All Things Open, HalfStack, LeadDev Berlin, StaffPlus NYC, and TSConf, as well as several dozen online conferences. You can most of my available talk slides and recordings at

https://www.joshuakgoldberg.com/#talks.

Connect
with Daniel
Linkedin
Connect with Josh
Linkedin
Connect with Josh
Linkedin
This is some text inside of a div block.
This is some text inside of a div block.
WORKSHOP
WORKSHOP
Floating and Sinking Promises: Let’s Fix Your Broken Async Code
Full Stack, Open Source
Promises and async/await are the right way to work with asynchronous code in Node.js. They're also both the easiest code constructs to introduce bugs with -- and can be some of the hardest code to debug. We'll walk through:
- Refactoring pre-Promise callback hell to Promises
- Refactoring pre-async/await Promises to async/await
- Debugging with console logs and node --inspect
- "Floating" Promises (those created and not handled): detection with TypeScript ESLint, and error handling
- Sinking" Promises (those created and handled improperly): detection with TypeScript ESLint, and error handling

Each of those classifications off issues will be resolved in three steps:
1. We'll look at how their need can develop in even the most type-safe, well-architected, well-intended projects
2. We'll see how to detect those issues - as bugs and/or development-time smells
3. We'll see how tools in TypeScript and/or typescript-eslint can detect them for us, and sometimes even automate the fixes.

By the end of this workshop, you'll be fully prepared to debug even the gnarliest asynchronous shenanigans and write production quality asynchronous code.
  • Date: 07 Nov 2023
  • Time: 16:00 GMT | 16:00 UTC
  • Length: 1.5 hour workshop
Add to CalendarShare on Twitter

THE SPEAKERS