0.4.2 • Published 8 years ago

async-task v0.4.2

Weekly downloads
139
License
MIT
Repository
github
Last release
8 years ago

AsyncTask Travis

Execute tasks asynchronous tasks without seperate files. In browsers without Worker support it fallbacks to iframe.

In Nodejs it spawns a process using child_process.

Install

npm install async-task

Also support bower

bower install async-task

Usage

var AsyncTask = require( 'async-task' )

var task = new AsyncTask({
  doInBackground: (a, b) -> a + b
})

task.execute(1, 2)
  .then(function( result ) {
    result === 3
  })
  .catch( handleException )
Shorthand
var task = new AsyncTask( (a, b) -> a + b, options )

API

AsyncTask( doInBackground, options )

Creates a new AsyncTask

options
  • options.doInBackground The work(function) to be done in the worker if the first argument isnt the task.
  • options.keepAlive Keep worker alive so .execute can be called multiple times.
  • options.worker Supply worker if you want to share worker between tasks. NB!: termination of worker is left to the user

asyncTask.execute( args... ):Promise

Execute the doInBackground function with supplied args.

Sharing worker example
var AsyncTask = require( 'async-task' )
var BackgroundWorker = require( 'background-worker' )

var worker = new BackgroundWorker({})

var taskA = new AsyncTask({
  worker: worker,
  doInBackground: () -> 'a'
})

var taskB = new AsyncTask({
  worker: worker,
  doInBackground: () -> 'b'
})


Promise.all([
  taskA.execute(),
  taskB.execute()
]).then(function(result) {
  result == [ 'a', 'b' ]
  worker.terminate()
})

Test

npm run-script test

Roadmap

  • doInBackground can return a promise or maybe even a generator* so you can iterate over asyncTask.execute

In the wild

If your using it in your very cool project please drop me a note on jornandretangen àt gmail.com

Partially made, with <3 at:

Foo

0.4.2

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.25

9 years ago

0.3.24

9 years ago

0.3.5

9 years ago

0.3.43

9 years ago

0.3.42

9 years ago

0.3.4

9 years ago

0.3.3

9 years ago

0.3.23

9 years ago

0.3.22

9 years ago

0.3.2

9 years ago

0.3.11

10 years ago

0.3.1

10 years ago

0.3.0

10 years ago

0.2.0

10 years ago

0.1.1

10 years ago

0.1.0-RC2

10 years ago

0.1.0

10 years ago