क्या एक सरल समर्पित वेब कार्यकर्ता लिखना संभव है, इसलिए यह लगातार कुछ संसाधित करता है और ग्राहक द्वारा पूछे जाने पर ही अपना राज्य भेजता है।जावास्क्रिप्ट समर्पित वेब कार्यकर्ता मांग पर संदेश भेजने के लिए
मैं अब तक क्या किया है, क्लाइंट फ़ाइल:
<script>
// spawn a worker
var worker = new Worker('basic-worker.js');
// decide what to do when the worker sends us a message
worker.onmessage = function(e){
document.getElementById('result').textContent = e.data;
};
</script>
<html>
<head></head>
<body>
<p>The Highest prime number discovered so far : <outpout id="result"></output></p>
</body>
</html>
कार्यकर्ता फ़ाइल:
var n = 0;
search: while (true) {
n += 1;
for (var i = 2; i <= Math.sqrt(n); i += 1)
if (n % i == 0)
continue search;
// found a prime !
postMessage(n);
}
आप कार्यकर्ता देख सकते हैं लगातार अभाज्य यह founds भेजें। मैं प्राइम गणना लॉन्च करने में सक्षम होना चाहता हूं और जब मैं क्लाइंट पर बटन पर क्लिक करता हूं तो उसे नवीनतम प्रधान भेजने के लिए कार्यकर्ता से पूछता है। ऐसा ही कुछ होगा (मैं जानता हूँ कि यह रूप में, लेकिन काम नहीं कर सकता मैं क्या चाहते हैं की एक सामान्य विचार देने के लिए):
कार्यकर्ता फ़ाइल:
var n = 0;
var lPrime = 0;
// post last prime number when receiving a message
onmessage = function(e) {
postMessage(lPrime);
}
// continously search for prime numbers
search: while (true) {
n += 1;
for (var i = 2; i <= Math.sqrt(n); i += 1)
if (n % i == 0)
continue search;
// found a prime !
//postMessage(n);
lPrime = n;
}
क्लाइंट फ़ाइल:
<script>
// spawn a worker
var worker = new Worker('basic-worker.js');
// what to do when the worker sends us a message
worker.onmessage = function(e){
document.getElementById('result').textContent = e.data;
};
// post to the worker so the worker sends us the latest prime found
function askPrime(){
worker.postMessage();
};
</script>
<html>
<head></head>
<body>
<p>The Highest prime number discovered so far : <outpout id="result"></output></p>
<input type="button" onclick="askPrime();">
</body>
</html>
आप सही हैं मैं इस उल्टा को हल करने की कोशिश कर रहा था!तुमने मुझे सही रास्ता दिखाया बहुत धन्यवाद! –