Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fs = require('fs');
- console.time('chunk_execute_time');
- var now = new Date();
- var daysOf = [];
- var game = "IL"
- var timerId = 0;
- var outarray = [];
- const datafile = __dirname + '/files/file.txt';
- for (var d = new Date(2017, 0, 1); d <= now; d.setDate(d.getDate() + 1)) {
- daysOf.push(new Date(d).toLocaleDateString().replace(/-([0-9]{1})(\s|-|$)/, '-0$1$2').replace(/-([0-9]{1})(\s|-|$)/, '-0$1$2'));
- }
- function chunker(n) {
- return function (p, c, i) {
- (p[i / n | 0] = p[i / n | 0] || []).push(c);
- return p;
- };
- }
- var chunks = daysOf.reduce(chunker(50), []);
- // chunks.forEach(chunk => {
- // var fromDate = chunk[0];
- // var toDate = chunk[chunk.length - 1];
- // filename = __dirname + `/files/${game}-fromDate-${fromDate}-toDate-${toDate}.json`;
- // });
- console.timeEnd('chunk_execute_time');
- function sleep(milliseconds) {
- var start = new Date().getTime();
- for (var i = 0; i < 1e7; i++) {
- if ((new Date().getTime() - start) > milliseconds) {
- break;
- }
- }
- }
- const addDrawObj = (obj) => {
- outarray.push(obj);
- };
- var getPage = (item, callback) => {
- sleep(15);
- fs.readFile(datafile, 'utf8', function (err, contents) {
- callback(contents);
- });
- }
- const parsePage = (data,item) => {
- sleep(15);
- var out = JSON.parse(data);
- out[0].date = item+' 00:00:01';
- out[1].date = item+' 00:00:02';
- out[2].date = item+' 00:00:03';
- return (out);
- }
- // pętla główna dla jednego kawałka tablicy
- console.time('loop_time');
- var days = chunks[0];
- var go = new Promise((resolve, reject) => {
- days.forEach((item) => {
- getPage(item, (html) => {
- let data = parsePage(html,item);
- addDrawObj(data);
- });
- });
- setTimeout(function() {
- resolve();
- }, 30); // działa od minimum 3ms ???
- });
- // go.then((value) => {
- // console.log(value);
- // //console.log(outarray);
- // });
- Promise.all([go]).then(() => {
- if (outarray.length>0) {
- outarray.sort((a,b)=>{
- let da = new Date(a[0].date);
- let db = new Date(b[0].date);
- return da-db;
- })
- }
- outarray.forEach((element,idx) => {
- if (idx>45)
- console.log(element);
- });
- console.log('length data:'+outarray.length);
- console.timeEnd('loop_time');
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement