modern-async

    1.0.3 • 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 and promises.

    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 and promises 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.0 and in the vast majority of browsers (very old browser compatibility can be achieved using Babel and shims).

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

    This project accepts feature requests !

    The goal of modern-async is to be as complete as possible. I coded everything I missed in the past while developing, yet it's difficult to know what other people would really need. So if you would like some more feature the issue tracker is available. (Read also the contribution guide).

    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 { map, asyncRoot, sleep } from 'modern-async'
    
    // or
    
    const { map, asyncRoot, sleep } = require('modern-async')
    
    asyncRoot(async () => {
      const array = [1, 2, 3]
      const result = await map(array, async (v) => {
        await sleep(10)
        return v * 2
      })
      console.log(result)
    })

    See the documentation for the rest.

    Changelog

    The changelog.

    Contribution Guide

    The contribution guide

    License

    The license.

    Install

    npm i modern-async

    DownloadsWeekly Downloads

    309

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    316 kB

    Total Files

    86

    Last publish

    Collaborators

    • nicolas-van