Skip to content

Instantly share code, notes, and snippets.

@joedotjs

joedotjs/01.js Secret

Last active May 2, 2016 00:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joedotjs/333b39466be94edf0bb8262b507bc4e2 to your computer and use it in GitHub Desktop.
Save joedotjs/333b39466be94edf0bb8262b507bc4e2 to your computer and use it in GitHub Desktop.
const request = require('request-promise');
const fs = require('fs');
let lastResponse = null;
let start = 1462118375688;
const intervals = [];
const makeRequest = () => {
return request('http://www.radiohead.com/01');
}
const formatElapsedTime = (s, e) => {
const elapsed = e - s;
return Math.floor((elapsed / 1000)).toString();
};
const runRequest = () => {
setTimeout(function () {
const requestPending = makeRequest();
console.log('Request at ' + Date.now());
requestPending
.then(res => {
if (!lastResponse) {
lastResponse = res;
} else {
if (lastResponse !== res) {
const end = Date.now();
lastResponse = res;
try {
console.log('Writing!');
fs.appendFileSync('./log.txt', `${res}\n${end}\n${formatElapsedTime(start, end).toString()}\n\n`);
start = end;
} catch (e) {
}
}
}
runRequest();
})
.then(null, function (err) {
console.error(err);
runRequest();
});
}, 200);
};
runRequest();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment