ସମାଧାନ: ବ୍ରାଉଜର୍ ପୃଷ୍ଠଭୂମିରେ setInterval ସାଧାରଣ ଭାବରେ ଚାଲିପାରିବ ନାହିଁ |
ସନ୍ଦର୍ଭ
Worker"ୱେବ୍ ୱାର୍କର୍" କ’ଣ?
ୱେବ୍ ବିଷୟବସ୍ତୁ ପାଇଁ ପୃଷ୍ଠଭୂମି ସୂତ୍ରରେ ସ୍କ୍ରିପ୍ଟ ଚଲାଇବା ପାଇଁ “ୱେବ୍ ୱାର୍କର୍” ଏକ ସରଳ ଉପାୟ ପ୍ରଦାନ କରେ | ଥ୍ରେଡ୍ ବ୍ୟବହାରକାରୀ ଇଣ୍ଟରଫେସ୍କୁ ବ୍ୟାଘାତ ନକରି କାର୍ଯ୍ୟଗୁଡିକ କରିପାରିବ | ଏହା ସହିତ, ସେମାନେ XMLHttpRequest ବ୍ୟବହାର କରି I / O ସଂପାଦନ କରିପାରିବେ | ଥରେ ସୃଷ୍ଟି ହୋଇଗଲେ, ଜଣେ ଶ୍ରମିକ ଜାଭାସ୍କ୍ରିପ୍ଟ କୋଡକୁ ଏକ ସନ୍ଦେଶ ପଠାଇ ପାରିବେ ଯାହା ଏହାକୁ ସୃଷ୍ଟି କରିଛି, କୋଡ୍ ଦ୍ୱାରା ନିର୍ଦ୍ଦିଷ୍ଟ ଇଭେଣ୍ଟ ହ୍ୟାଣ୍ଡେଲର୍ (ଏବଂ ବିପରୀତରେ) ବାର୍ତ୍ତା ପୋଷ୍ଟ କରି |
ନିର୍ଦ୍ଦେଶାବଳୀ
ନିମ୍ନରେ ଥିବା ନମୁନା କୋଡ୍ ରେ, ଆମେ ସରଳ ଟାଇମର୍ କାର୍ଯ୍ୟକାରୀ କରୁ ଏବଂ ଏହାକୁ ପ୍ରତି 100 ମିଲିସେକେଣ୍ଡରେ ଟ୍ରିଗର୍ କରିବାକୁ ଦିଅ |
var timmer = new Worker(
URL.createObjectURL(
new Blob(
[
"onmessage=function(event){setInterval(function(){postMessage(1);},100)}",
],
{ type: "application/javascript" }
)
)
);
timmer.onmessage = function (event) {
console.log("get message");
};
timmer.postMessage("start");
ମାନକ ବ୍ୟବହାର
ଉପରୋକ୍ତ ଉଦାହରଣରେ, ଆମେ createObjectURL ବ୍ୟବହାର କରି ଏକ ଠିକଣା ସୃଷ୍ଟି କଲୁ, ଯେହେତୁ ଆମେ ଏକଜେକ୍ୟୁଟ୍ କରିବାକୁ ଆବଶ୍ୟକ କରୁଥିବା କୋଡ୍ ଅପେକ୍ଷାକୃତ ସରଳ, ଏହି ପଦ୍ଧତି ଅଧିକ ସଂକ୍ଷିପ୍ତ ହେବ | ଯେତେବେଳେ ଆମେ ଏକଜେକ୍ୟୁଟ୍ କରିବାକୁ ଥିବା ଟାସ୍କରେ ଥିବା କୋଡ୍ ଅଧିକ ଜଟିଳ, ଆମେ ଏକ ସ୍ independent ାଧୀନ js ଫାଇଲ୍ ଭାବରେ ଟାସ୍କକୁ ପୃଥକ ଭାବରେ ଲେଖିପାରିବା | ବିବରଣୀ ପାଇଁ, ଦୟାକରି ନିମ୍ନ କୋଡ୍ କୁ ଅନୁସରଣ କରନ୍ତୁ | ସେଠାରେ ଅଧିକ ବିସ୍ତୃତ ପରିଚୟ ଅଛି, ଆପଣ ପ୍ରବନ୍ଧର ଶୀର୍ଷରେ ଥିବା ରେଫରେନ୍ସ ସାମଗ୍ରୀକୁ ଅନୁସରଣ କରିପାରିବେ |
var timmer = new Worker('worker.js');