await-it
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    Await it

    A wrapper for async/await calls without the need of try/catch block.

    If someone told you that you should try / catch once at the root of your application and then do your async calls anywhere in the codebase, they are wrong. You should try / catch every async / await call or use .then() / .catch() chainables. Better than callback hell? I think it leads to similar problem...

    This module attempts to solve that nesting hell and instead provide clean and fluent api with tuple destructuring.


    Installation (pick one)

    • npm i await-it
    • yarn add await-it

    Usage

    We'll pretend that we have some kind of Promise already declared globally, to avoid bulky README file.

    // Fake Global Promises
    const fakeResolve = Promise.resolve({ name: 'Nenad Novakovic', age: 28 })
    const fakeReject = Promise.reject(new Error('Rejection reason...'))

    Without TypeScript

    import { it } from 'await-it'
    
    (async () => {
      const [res, err] = await it(fakeResolve);
    
      console.log(res) // { name: 'Nenad Novakovic', age: 28 }
      console.log(err) // null
    })()
    
    (async () => {
      const [res, err] = await it(fakeReject);
    
      console.log(res) // undefined
      console.log(err.message) // Rejection reason...
    })

    With TypeScript

    import { it } from 'await-it'
    
    (async () => {
      interface User {
        name: string;
        age: number;
      }
    
      const [res] = await it<User>(fakeResolve);
    
      console.log(res) // { name: 'Nenad Novakovic', age: 28 }
    })()

    Node Environment

    // Import as CommonJS
    const { it } = require('await-it')
    
    // Import as ESM 
    import { it } from 'await-it'

    Install

    npm i await-it

    DownloadsWeekly Downloads

    1

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    3.5 kB

    Total Files

    5

    Last publish

    Collaborators

    • dvlden