An asynchronous effect monad and threading model for PureScript.
aff
is in the same space as JavaScript Promises, but with additional support for cancellation (async exceptions) and resource management (bracket
). It provides cooperative multi-tasking which yields on async constructors (makeAff
).
For OS-thread parallelism in Node.js, see node-workerbees.
Install aff
with Spago:
spago install aff
This quick start covers common, minimal use cases for the library. Longer examples and tutorials can be found in the docs directory.
main :: Effect Unit
main = launchAff_ do
response <- Ajax.get "http://foo.bar"
log response.body
aff
documentation is stored in a few places:
- Module documentation is published on Pursuit.
- Written documentation is kept in the docs directory.
- Usage examples can be found in the test suite.
If you get stuck, there are several ways to get help:
- Open an issue if you have encountered a bug or problem.
- Ask general questions on the PureScript Discourse forum or the PureScript Discord chat.
You can contribute to aff
in several ways:
-
If you encounter a problem or have a question, please open an issue. We'll do our best to work with you to resolve or answer it.
-
If you would like to contribute code, tests, or documentation, please read the contributor guide. It's a short, helpful introduction to contributing to this library, including development instructions.
-
If you have written a library, tutorial, guide, or other resource based on this package, please share it on the PureScript Discourse! Writing libraries and learning resources are a great way to help this library succeed.