Neurotic and Probably Misinformed

    async_fn

    0.2.4 • Public • Published

    AsyncFn

    Build Status

    Description

    This is one-method library, which main purpose is ability to run provided to this method asynchronous functions in a queue one by one. Please notice, that all provided functions should return a promise and they should be asynchronous. Support for simple functions is not yet implemented, but planned.

    Example

    Here's just a spec example.

    it 'calls callbacks in a queue one by one'(done) ->
      asyncFn1 = sinon.spy(=>
        dfd = new $.Deferred()
        setTimeout ->
          dfd.resolve()
        700
        dfd.promise()
      )
     
      asyncFn2 = sinon.spy(=>
        dfd = new $.Deferred()
        setTimeout ->
          dfd.resolve()
        300
        dfd.promise()
      )
     
      asyncFn3 = sinon.spy(=>
        dfd = new $.Deferred()
        setTimeout ->
          dfd.resolve()
        100
        dfd.promise()
      )
     
      AsyncFn.addToCallQueue asyncFn1
      AsyncFn.addToCallQueue asyncFn2
      AsyncFn.addToCallQueue asyncFn3
     
      expect(asyncFn2).to.be.not.called
      expect(asyncFn3).to.be.not.called
     
      setTimeout ->
        expect(asyncFn1).to.be.calledOnce
        expect(asyncFn2).to.be.calledOnce
        expect(asyncFn3).to.be.calledOnce
        expect(asyncFn1).to.be.calledBefore asyncFn2
        expect(asyncFn2).to.be.calledBefore asyncFn3
        done()
      1500

    Keywords

    none

    Install

    npm i async_fn

    DownloadsWeekly Downloads

    413

    Version

    0.2.4

    License

    MIT

    Unpacked Size

    71.4 kB

    Total Files

    22

    Last publish

    Collaborators

    • ertrzyiks
    • s0ber