| <html> <script language="JavaScript"> function newState(){ if (XMLreq.readyState==4) processReply(); } function requestData(){ ...set up asynchronous XML request... XMLreq.onreadystatechange = newState; ...launch XML request... } function processReply(){ var transformedData = ...process data to HTML... OutputArea.innerHTML = transformedData + " "; } function clearArea(){ OutputArea.innerHTML = "cleared "; } </script> <body > <input type="button" value="clear" > <div id="OutputArea"/> </body> </html> |
| <html> <script src="mutex.js"></script> <script language="JavaScript"> function requestData (){ new Mutex(new RequestDataCmd(),"go"); } function processReply(){ new Mutex(new ProcessReplyCmd(),"go"); } function clearArea (){ new Mutex(new ClearAreaCmd(),"go"); } function newState (){ if (XMLreq.readyState==4) processReply(); } var NEXT_CMD_ID = 0; function RequestDataCmd(){ this.id = ++NEXT_CMD_ID; this.go = function(){ ...set up asynchronous XML request... XMLreq.onreadystatechange = NewState; ...launch XML request... } } function ProcessReplyCmd(){ this.id = ++NEXT_CMD_ID; this.go = function(){ var transformedData = ...process data to HTML... OutputArea.innerHTML = transformedData + " "; } } function ClearAreaCmd(){ this.id = ++NEXT_CMD_ID; this.go = function(){ OutputArea.innerHTML = "cleared "; } } </script> <body > <input type="button" value="clear" > <div id="OutputArea"/> </body> </html> |