Execute Background Task In Javascript

javascript, multithreading

Solution

I had a similar problem to solve recently where i needed to keep my UI thread free while crunching some data to display.

I wrote a library Background.js to handle a few scenarios: a sequential background queue (based on the WorkerQueue library), a list of jobs where each is called on every timer, and an array iterator to help break up your work into smaller chunks. Examples and code here: https://github.com/kmalakoff/background

Enjoy!

Problem

I have a cpu intensive task that I need to run on the client. Ideally, I'd like to be able to invoke the function and trigger progress events using jquery so I can update the UI. I know javascript does not support threading, but I've seen a few promising articles trying to mimic threading using setTimeout. What is the best approach to use for this? Thanks.

Original source