gecko-dev/dom/workers/test/fibonacci_worker.js

25 строки
544 B
JavaScript

/**
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
onmessage = function(event) {
var n = parseInt(event.data);
if (n < 2) {
postMessage(n);
return;
}
var results = [];
for (var i = 1; i <= 2; i++) {
var worker = new Worker("fibonacci_worker.js");
worker.onmessage = function(msg) {
results.push(parseInt(msg.data));
if (results.length == 2) {
postMessage(results[0] + results[1]);
}
};
worker.postMessage(n - i);
}
};