ସମାଧାନ: ବ୍ରାଉଜର୍ ପୃଷ୍ଠଭୂମିରେ 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');