๐งต Make web workers & worker threads as simple as a function call.
A small minor release shipping a small new feature and fixes some TypeScript warnings.
Small minor release, shipping a new way to wait for pool tasks to complete.
The new pool.settled()
method now allows you to await
the completion of all pool tasks. The difference to pool.completed()
is that the promise won't be rejected if a task fails โ the returned promise will always successfully resolve to an array of errors as thrown by failing tasks.
pool.settled()
(#208)A minor release introducing the timeout
option and custom data serializers.
The new custom serializers allow passing class instances and other non-trivial data between threads, that normally cannot be passed using the underlying .postMessage()
method. Read the docs for details.
timeout
option to spawn()
(#206, credits to @haggholm)Finally, after about half a year in beta here it is โ threads.js v1.0 ๐๐
It has not been easy, but it's been worth the effort. Thanks to everyone who contributed to the v1.0 release! There were and still are many different ways to contribute.
Version 1.0 is a complete rewrite of the library with a new API and written in TypeScript. It is the result of all the lessons learned from working on and working with v0.x.
The most noticeable changes are:
This also means that you can now write worker code pretty intuitively and use worker functions just by calling them like any other function.
Since the new API is Promise-based, error handling now finally feels trivial. You might notice there is no more UMD build. If you feel like this is an issue you can vote to add it again in #191.
Transfer()
function signature (#190)maxQueuedJobs
option to pool (#188)observable-fns
now (#185)A couple of features are still in discussion โ head over to Issues
to check them out. Here is a brief summary.
If you have any feedback you would like to share, feel free to open an issue or ping @andywer via gitter.im / twitter.com.
You can also help this project. Engage in discussions, contribute code, improve the documentation, become a sponsor or just simply star the repository and spread the word.
Happy hacking!
This small path release fixes some TypeScript issues. Integration tests have been added to prevent future regressions.
compilerOptions.lib
does not contain dom
(#138)compilerOptions.esModuleInterOp
not set (#138)