actor.js
Elixir-style actors in JavaScript. Spawn "processes", then send and receive messages between them – just like you would in Elixir.
You can think of it as co
, but with message passing.
Example
const pid = pid
See the included examples for more use cases.
Install
$ yarn add actorjs
API
spawn(fn | asyncFn, ...args) => PID
Spawn a "process" that will execute the passed-in function.
const pid =
PID#send(msg)
Send a message to a PID.
pid
this.receive(pattern) => Promise
Block until a received message matches the passed-in pattern
function.
The pattern
function takes an arbitrary message
as input, and returns a result based on that message
. By default, the pattern
function is the identity function.
A result of undefined
is not considered to be a match, and thus this.receive()
will continue blocking.
const pid = pidpid
PID#then(value =>)
, PID#catch(err =>)
The return value of spawn()
is a thenable.
License
MIT