Isisombululo: setInterval ayinakusebenza ngesiqhelo kwindawo yangasemva yesikhangeli.
Isalathiso
WorkerYintoni "uMsebenzi weWebhu"
"Umsebenzi weWebhu" ubonelela ngendlela elula yokuqulatha iwebhu ukuqhuba izikripthi kumsonto ongasemva. Imisonto inokwenza imisebenzi ngaphandle kokuphazamisa ujongano lomsebenzisi. Ukongeza, banokwenza i-I / O besebenzisa iXMLHttpRequest. Nje ukuba wenziwe, umsebenzi angathumela umyalezo kwikhowudi yeJavaScript eyenzileyo, ngokuthumela umyalezo kumphathi womsitho ochazwe yikhowudi (kwaye kungenjalo).
Imiyalelo
Kwikhowudi yesampulu engezantsi, sisebenzisa elona xesha lilula kwaye siyivumele ukuba ibangele yonke i-100 millisecond.
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");
Ukusetyenziswa okusemgangathweni
Kumzekelo ongentla, senze idilesi sisebenzisa i-createObjectURL Ukusukela ukuba ikhowudi ekufuneka siyenzile ilula, le ndlela iya kuba mfutshane. Xa ikhowudi kulomsebenzi ekufuneka siwenzile inzima ngakumbi, sinokubhala umsebenzi ngokwahlukeneyo njengefayile ezimeleyo yejs. Ngeenkcukacha, nceda ujonge kule khowudi ilandelayo. Kukho intshayelelo eneenkcukacha ngakumbi, ungabhekisa kwimathiriyeli yesalathiso phezulu kwinqaku.
var timmer = new Worker('worker.js');