Javascript async/await in Dynamics 365

by Sep 14, 2022

Why isn’t targeting ES5 in JavaScript working anymore in Dynamics 365 / Power Platform.

I see a lot of Dynamics 365 still targeting ES5 (or ES6) in JavaScript and missing out on some new features. Looking at the features in JavaScript and their support in browsers we can safely choose for ES2017 now a days.

Why ES2017? You can use async/await!

This is such a big win, because:
✅ No more callbacks and promises
✅ Enforces function to always returns a promise, so you can’t forget
✅ More concise, no more nesting callbacks: callback hell.
✅ Reads top down
✅ Handle errors via try/catch

But you use transpiling with TypeScript and/or Babel?

Even when transpiling code, it looks more like the original code, instead of gibberish. This will help in understanding the code in production when you need to fix a bug ASAP.

Dare I say it? Target ES2020!

Looking at how browsers auto-update now a days, you can even target ES2020! This will bring the feature of ?. and ?? operators which help even more in writing clean code. This feature is available in browsers from the beginning of 2020.

Are you going to switch?

Remy van Duijkeren

Remy van Duijkeren

Power Platform Advisor

Microsoft Power Platform Advisor with over 25 years of experience in IT with a focus on (marketing) automation and integration.

Helping organizations with scaling their business by automating processes on the Power Platform (Dynamics 365).

Expert in Power Platform, Dynamics 365 (Marketing & Sales) and Azure Integration Services. Giving advice and strategy consultancy.

Services:
– Strategy and tactics advise
– Automating and integrating

Subscribe to
The Daily Friction

A daily newsletter on automation and eliminating friction

Related Content

Progressive Enhancement for JS is overrated.

Progressive Enhancement for JS is overrated. In today’s web, HTML + CSS + JS is a package deal. Almost every browser supports the trio, and let’s be real: users expect apps to work smoothly with JavaScript. 95%+ of users have JS enabled – why build for the exception?...

read more

Alpine.js just clicked. 🎯

Alpine.js just clicked. 🎯 Its declarative syntax—attributes on HTML tags—is perfect for simple UI logic. Most of the time, I don’t even need to touch JavaScript. And when I do? I can write just a little bit, and it fits right in. What’s even better? The declarative...

read more

HTMX + ASPNET Core Razor = magic. ✨

HTMX + ASPNET Core Razor = magic. ✨ But HyperScript? Not so much. 😅 As a developer, I gave HyperScript a try for client-side interactions. I really wanted to love it—especially since it’s from the same creator as HTMX. But every time I used it, I spent way too much...

read more