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...