modern-async
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

modern-async Tweet

logo

GitHub Repo stars Website Node.js CI npm Coverage Status

A modern JavaScript tooling library for asynchronous operations using async/await, promises and async generators.

This library is a modernized alternative to a lot of libraries like Async.js that were created using the legacy callback style to handle asynchronous operations. Its goal is to be as complete as any of those libraries while being built from the very beginning with async/await and promises in mind.

See the documentation.

  • Exclusively uses async/await, promises and async generators in its code, tests and documentation.
  • Has low bundle size.
  • Has 100% code coverage.
  • Bundled for ESM modules, CommonJS and UMD.
  • Works in node >= 8 and in the vast majority of browsers (very old browser compatibility can be achieved using Babel and shims).
  • Has Typescript support.

Stargazers repo roster for @nicolas-van/modern-async

Installation

npm install --save modern-async

Or use jsDelivr to get the UMD version. The content of the library will be available under the modernAsync global variable.

Usage

import { asyncMap, asyncSleep } from 'modern-async'

const array = [1, 2, 3]
const result = await asyncMap(array, async (v) => {
  await asyncSleep(10)
  return v * 2
})
console.log(result)

See the documentation for the rest.

Migrating from version 1.X to version 2.X

See the migration guide.

Changelog

The changelog.

Contribution Guide

The contribution guide

License

The license.

Package Sidebar

Install

npm i modern-async

Weekly Downloads

14,007

Version

2.0.0

License

MIT

Unpacked Size

387 kB

Total Files

71

Last publish

Collaborators

  • nicolas-van