refactor xhr

This commit is contained in:
Ilya Kantor 2019-03-14 18:52:33 +03:00
parent 943c971654
commit 00b356ccf8
4 changed files with 291 additions and 275 deletions

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML>
<script>
function run() {
let xhr = new XMLHttpRequest();
write(`readyState=${xhr.readyState}`);
xhr.open('GET', 'digits');
write(`readyState=${xhr.readyState}`);
xhr.onreadystatechange = function() {
write(`readyState=${xhr.readyState}, responseText.length=${xhr.responseText.length}`);
};
xhr.onprogress = function() {
write(`readyState=${xhr.readyState}, responseText.length=${xhr.responseText.length}`);
};
xhr.send();
}
function write(text) {
let li = log.appendChild(document.createElement('li'));
li.innerHTML = text;
}
</script>
<button onclick="run()">Load digits</button>
<ul id="log"></ul>

View file

@ -0,0 +1,44 @@
let http = require('http');
let url = require('url');
let querystring = require('querystring');
let static = require('node-static');
let file = new static.Server('.');
function accept(req, res) {
if (req.url == '/load') {
res.writeHead(200, {
'Content-Type': 'text/plain',
'Cache-Control': 'no-cache',
'Content-Length': 90000
});
let i = 0;
let timer = setInterval(write, 1000);
write();
function write() {
res.write(String(i).repeat(10000));
i++;
if (i == 9) {
clearInterval(timer);
res.end();
}
}
} else {
file.serve(req, res);
}
}
// ----- запуск accept как сервера из консоли или как модуля ------
if (!module.parent) {
http.createServer(accept).listen(8080);
} else {
exports.accept = accept;
}