synchronicity v0.0.4
synchronicity
For when a future callback just won't do.
Installation
npm install synchronicity
Documentation
This module is a wrapper for the deasync module, created in order to have a nicer API and functions. The API is based on the API of synchronize.js1
sync.create ( function f )
:
- A wrapper for
deasync(f)
- Returns a synchronous version of an asynchronous function.
sync.sleep ( int ms )
:
- A reference to
deasync.sleep(ms)
- Pauses execution of the current script until the requested milliseconds have passed.
sync.until ( function )
:
- Pauses execution until the predicate returns true.
sync.exe ( object, string function_name [, array args] )
or sync.exe ( null, function [, array args] )
:
- Runs the given function with the given args and returns an object you can use to track the progress of the execution.
- If the array
args
is provided, it must contain the result ofsync.defer
as a value. If it does not, it will throw an error. - When
args
is not provided, it defaults to[sync.defer().all()]
- Returns an object with the keys
promise
,result
, and potentiallyleftovers
(if.all()
is run on thedefer()
result)
sync.wait ( object, string function_name [, array args] )
or sync.exe ( null, function [, array args])
:
- Uses the
sync.exe
function to wait for a function to complete, then returns the result.
sync.parallel ( list_of_arrays... )
:
- Takes any number of arrays which represent the arguments of each call to
sync.wait
. Returns the results in one array when complete.
sync.lazy ( function )
:
- Runs a function at some point. No promises. (Eventually there will be, just haven't gotten to it yet)
Notes
1Synchronize.js functions must be called inside a fiber, which is annoying and makes it less useful. (For instance, it'd be impossible to create a synchronous version of a function using it). Deasync does not require fibers, and this module makes it have that nice api.