Node.js asynchronous threads
Node.js has built-in mechanisms for creating threads and having them fire asynchronously. Using an example from http://book.mixu.net/node/ch7.html, we have the following:
//thread function - invoked for every number in items array function async(arg, callback) { console.log('cube ''+arg+'', and return 2 seconds later'); setTimeout(function() { callback(arg * 3); }, 2000); } //function called once - after all threads complete function final() { console.log('Done', results); } //list of numbers to operate upon var items = [ 0, 1, 1, 2, 3, 5, 7, 11 ]; //results of each step var results = []; //loop the drives the whole process items.forEach(function(item) { async(item, function(result){ results.push(result); if(results.length == items.length) { final(); } }) });
This script creates an asynchronous function that operates on a number. For every number (item), we call upon the inline function passing the number to the function that applies...