-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample.html
68 lines (52 loc) · 1.94 KB
/
example.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>clientThreads</title>
<script src="ClientThreads-0.1.1.min.js"></script>
<script>
window.addEventListener("load", function() {
var thr = ClientThreads({
x: 10, y: 25
}, function(e) {
/* Доступ к аргументам в потоке */
var args = thread.arguments;
console.log("Аргументы: "+(args.x + args.y)); // 35
/* Получение сообщений */
thread.onMessage = function(msg, e) {
/* проверка типов данных */
if(thread.is.function(msg)) {
console.log( msg() );
} else {
console.log(e.data); // e.data в отличии от msg всегда возвращает "string"
if(msg == "close") {
thread.close(); // завершение работы внутри потока
}
}
};
/* Способы отправки сообщений в колбек */
thread.postMessage("<< Из потока. Первое сообщение");
thread.postMessage([1, 3, function() {
return "<< Из потока. Второе сообщение в виде функции которая в массиве";
}]);
/* return завершает работу и он так же, по завершению может отправить сообщение в колбек */
return "<< Из потока. Третье сообщение в колбек";
}, function (msg, e) {
if(thr.is.array(msg)) {
console.log( msg[2]() );
}
if(thr.is.string(msg)) {
console.log(msg);
}
// console.log(msg);
});
thr.postMessage(">>>> В поток. Новое сообщение");
thr.postMessage(function() {return ">>>> В поток. Результат выполнения функции: " + (200+300);});
// thr.close();
}, false);
</script>
</head>
<body>
see console
</body>
</html>