BlogPodcastAbout💌 Tiny Improvements

Promise.allSettled() Pt.2 - it's partly settled!

This is a follow-up to my first post on the upcoming Promise.allSettled() function, coming soon to a node application near you.

This is a follow-up to my first post on the upcoming Promise.allSettled() function, coming soon to a node application near you.

Earlier today I was greeted by a Pull Request on my first post from GitHub user @j-f1.

Screenshot of a github pull request on my last blog post
PR on my last post, showing how to use Promise.allSettled() now!

It turns out there is a handy way to add Promise.allSettled() to your apps right now! 🎉.  It's fiendishly simple to use, too.

The core-js npm package

That's right - core-js.  From their README.md, it is exactly what it sounds like:

It is a polyfill of the JavaScript standard library, which supports:

  • The latest ECMAScript standard.
  • ECMAScript standard library proposals.
  • Some WHATWG / W3C standards (cross-platform or closely related ECMAScript).

It is maximally modular: you can easily choose to load only the features you will be using.
It can be used without polluting the global namespace.
It is tightly integrated with babel: this allows many optimizations of core-js import.

Looking further down in the readme, there's a list of supported features in the polyfill:

Promise.allSettled stage 2 proposal

Well hot damn! That'll do it!

How to use core-js

As @j-f1 indicated, in any project that uses babel as a transpiler, all you need to do is add core-js to your project, and include it at your app's entry point:

First, add the dependency to your project

1
> yarn add core-js

Then, at your app's entry point (usually something like index.js, or app.js in the root of your project):

1
import 'core-js';

or, if you want to include just the Promise.allSettled() polyfill, and nothing else, use:

1
import 'core-js/proposals/promise-all-settled';

That's it! 🍻

Mike Bifulco headshot

Subscribe to Tiny Improvements

Learn about designing & building great products for the web, and my philosophy for living a life you love in an ever-changing world.

    Typically once a week, straight from me to you. 😘 Unsubscribe anytime.


    Get in touch to → Sponsor Tiny Improvements

    ***
    Hero
    Promise.allSettled() Pt.2 - it's partly settled!

    This is a follow-up to my first post on the upcoming Promise.allSettled() function, coming soon to a node application near you.

    npmjavascriptdevreact
    © 2019-2023 Mike Bifulco

    Get in touch to → Sponsor Tiny Improvements

    Disclaimer: 👋🏽 Hi there. I work as a co-founder & CTO at Craftwork. These are my opinions, and not necessarily the views of my employer.
    Built with Next. Source code on GitHub.

    More great resources

    Articles about React.jsArticles about Remix.runArticles about Next.jsArticles for developersArticles for JavaScript developersArticles about CSSArticles about User Experience (UX)Articles about tools I useArticles about productivityBrowse all topics →