0.2.4 • Published 6 years ago

async_fn v0.2.4

Weekly downloads
194
License
MIT
Repository
github
Last release
6 years ago

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
0.2.4

6 years ago

0.2.3

7 years ago

0.1.7

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.6

8 years ago