Skip to content

Instantly share code, notes, and snippets.

@FlandreDaisuki
Created September 16, 2015 18:49
Show Gist options
  • Save FlandreDaisuki/8037f8d7d85dd2b14a20 to your computer and use it in GitHub Desktop.
Save FlandreDaisuki/8037f8d7d85dd2b14a20 to your computer and use it in GitHub Desktop.
Thanks dannvix senpai
import fetch from "/Users/dannvix/node_modules/node-fetch";
import Promise from "/Users/dannvix/node_modules/promise";
const urls = [
"http://www.google.com",
"http://www.yahoo.com",
"http://www.microsoft.com",
];
(function fetchUrl(urlIdx) {
if (urlIdx < 0 || urlIdx >= urls.length) return;
console.log(`urlIdx = ${urlIdx}`);
fetch(urls[urlIdx])
.then((response) => {
return new Promise((resolve, reject) => {
const message = `urlIdx = ${urlIdx}, response.url = ${response.url}`;
setTimeout(resolve, Math.random() * 2000 + 1000, message);
});
})
.then((message) => {
console.log(message);
return new Promise((resolve, reject) => {
const messageAgain = `${message} again!`;
setTimeout(resolve, Math.random() * 3000 + 500, messageAgain);
});
})
.then((messageAgain) => {
console.log(messageAgain);
setTimeout(fetchUrl, 1000, urlIdx+1);
});
})(0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment