andywer/threads.js

Should we support passing functions to workers?

Aperta

#145 aperta il 8 ago 2019

 (25 commenti) (8 reazioni) (0 assegnatari)TypeScript (173 fork)github user discovery
discussionhelp wanted

Metriche repository

Star
 (3531 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

In v0.x we built the library around the idea of passing functions to the worker that would be serialized, passed as a message, deserialized and then executed in the worker.

This approach has some subtle, yet strong limitations, though. That's why v1.0 does not support passing functions anymore, in order to prevent people from running into those not-always-obvious issues.

Maybe there are use cases where one really needs to be able to pass functions to workers. Then we need to make sure, though, that the user is aware of the passed function's limitations:

  • Cannot access any variable declared outside the functions scope
  • Cannot import or require() other modules in the function (at least not in the browser when bundling)

In response to #141, #144.

Guida contributor