Skip to content

Commit e6dbc09

Browse files
author
Schalk Neethling
committed
Merge remote-tracking branch 'fw/main' into import-fibonacci-worker
2 parents a239040 + db357ac commit e6dbc09

File tree

3 files changed

+52
-46
lines changed

3 files changed

+52
-46
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# fibonacci-worker
2-
A web worker that calculates fibonacci numbers. [See it live](https://mdn.github.io/fibonacci-worker/).
2+
3+
A web worker that calculates fibonacci numbers. [See it live](https://mdn.github.io/dom-examples/web-workers/fibonacci-worker/).

web-workers/fibonacci-worker/fibonacci.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
self.onmessage = function(e) {
2-
let userNum = Number(e.data);
1+
self.onmessage = function (event) {
2+
const userNum = Number(event.data);
33
fibonacci(userNum);
4-
}
4+
};
55

6+
function fibonacci(num) {
7+
let a = 1;
8+
let b = 0;
9+
let temp;
610

7-
function fibonacci(num){
8-
let a = 1, b = 0, temp;
9-
while (num >= 0){
11+
while (num >= 0) {
1012
temp = a;
1113
a = a + b;
1214
b = temp;
Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,57 @@
11
<!DOCTYPE html>
2-
<html>
2+
<html lang="en">
33
<head>
4-
<meta charset="UTF-8" />
4+
<meta charset="UTF-8" />
55
<title>Fibonacci number generator</title>
66
<style>
77
body {
88
width: 500px;
99
}
1010

11-
div, p {
11+
div,
12+
p {
1213
margin-bottom: 20px;
1314
}
1415
</style>
1516
</head>
1617
<body>
17-
18-
<form>
19-
<div>
20-
<label for="number">Enter a number that is an index position in the fibonacci sequence to see what number is in that position (e.g. enter 5 and you'll get a result of 8 — fibonacci index position 5 is 8).</label>
21-
<input type="number" id="number">
22-
</div>
23-
<div>
24-
<input type="submit">
25-
</div>
26-
</form>
27-
28-
<p id="result"></p>
29-
30-
<script language="javascript">
31-
var form = document.querySelector('form');
32-
var input = document.querySelector('input[type="number"]');
33-
var result = document.querySelector('p#result');
34-
var worker = new Worker('fibonacci.js');
35-
36-
worker.onmessage = function(event) {
37-
result.textContent = event.data;
38-
console.log('Got: ' + event.data + '\n');
39-
};
40-
41-
worker.onerror = function(error) {
42-
console.log('Worker error: ' + error.message + '\n');
43-
throw error;
44-
};
45-
46-
form.onsubmit = function(e) {
47-
e.preventDefault();
48-
worker.postMessage(input.value);
49-
input.value = '';
50-
}
51-
52-
</script>
18+
<form>
19+
<div>
20+
<label for="number"
21+
>Enter a number that is an index position in the fibonacci sequence to
22+
see what number is in that position (e.g. enter 5 and you'll get a
23+
result of 8 — fibonacci index position 5 is 8).</label
24+
>
25+
<input type="number" id="number" />
26+
</div>
27+
<div>
28+
<input type="submit" />
29+
</div>
30+
</form>
31+
32+
<p id="result"></p>
33+
34+
<script>
35+
const form = document.querySelector("form");
36+
const input = document.querySelector('input[type="number"]');
37+
const result = document.querySelector("p#result");
38+
const worker = new Worker("fibonacci.js");
39+
40+
worker.onmessage = function (event) {
41+
result.textContent = event.data;
42+
console.log("Got: " + event.data + "\n");
43+
};
44+
45+
worker.onerror = function (error) {
46+
console.log(`Worker error: ${error.message} \n`);
47+
throw error;
48+
};
49+
50+
form.onsubmit = function (event) {
51+
event.preventDefault();
52+
worker.postMessage(input.value);
53+
input.value = "";
54+
};
55+
</script>
5356
</body>
5457
</html>

0 commit comments

Comments
 (0)