mirror of
https://github.com/kevin-DL/complete-node-bootcamp.git
synced 2026-01-11 19:14:26 +00:00
Initial commit 🚀
This commit is contained in:
4
3-asynchronous-JS/final/.prettierrc
Normal file
4
3-asynchronous-JS/final/.prettierrc
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"singleQuote": true,
|
||||
"printWidth": 80
|
||||
}
|
||||
3
3-asynchronous-JS/final/dog-img.txt
Normal file
3
3-asynchronous-JS/final/dog-img.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
https://images.dog.ceo/breeds/labrador/n02099712_7411.jpg
|
||||
https://images.dog.ceo/breeds/labrador/n02099712_6644.jpg
|
||||
https://images.dog.ceo/breeds/labrador/n02099712_4705.jpg
|
||||
1
3-asynchronous-JS/final/dog.txt
Normal file
1
3-asynchronous-JS/final/dog.txt
Normal file
@@ -0,0 +1 @@
|
||||
labrador
|
||||
88
3-asynchronous-JS/final/index.js
Normal file
88
3-asynchronous-JS/final/index.js
Normal file
@@ -0,0 +1,88 @@
|
||||
const fs = require('fs');
|
||||
const superagent = require('superagent');
|
||||
|
||||
const readFilePro = file => {
|
||||
return new Promise((resolve, reject) => {
|
||||
fs.readFile(file, (err, data) => {
|
||||
if (err) reject('I could not find that file 😢');
|
||||
resolve(data);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const writeFilePro = (file, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
fs.writeFile(file, data, err => {
|
||||
if (err) reject('Could not write file 😢');
|
||||
resolve('success');
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const getDogPic = async () => {
|
||||
try {
|
||||
const data = await readFilePro(`${__dirname}/dog.txt`);
|
||||
console.log(`Breed: ${data}`);
|
||||
|
||||
const res1Pro = superagent.get(
|
||||
`https://dog.ceo/api/breed/${data}/images/random`
|
||||
);
|
||||
const res2Pro = superagent.get(
|
||||
`https://dog.ceo/api/breed/${data}/images/random`
|
||||
);
|
||||
const res3Pro = superagent.get(
|
||||
`https://dog.ceo/api/breed/${data}/images/random`
|
||||
);
|
||||
const all = await Promise.all([res1Pro, res2Pro, res3Pro]);
|
||||
const imgs = all.map(el => el.body.message);
|
||||
console.log(imgs);
|
||||
|
||||
await writeFilePro('dog-img.txt', imgs.join('\n'));
|
||||
console.log('Random dog image saved to file!');
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
|
||||
throw err;
|
||||
}
|
||||
return '2: READY 🐶';
|
||||
};
|
||||
|
||||
(async () => {
|
||||
try {
|
||||
console.log('1: Will get dog pics!');
|
||||
const x = await getDogPic();
|
||||
console.log(x);
|
||||
console.log('3: Done getting dog pics!');
|
||||
} catch (err) {
|
||||
console.log('ERROR 💥');
|
||||
}
|
||||
})();
|
||||
|
||||
/*
|
||||
console.log('1: Will get dog pics!');
|
||||
getDogPic()
|
||||
.then(x => {
|
||||
console.log(x);
|
||||
console.log('3: Done getting dog pics!');
|
||||
})
|
||||
.catch(err => {
|
||||
console.log('ERROR 💥');
|
||||
});
|
||||
*/
|
||||
/*
|
||||
readFilePro(`${__dirname}/dog.txt`)
|
||||
.then(data => {
|
||||
console.log(`Breed: ${data}`);
|
||||
return superagent.get(`https://dog.ceo/api/breed/${data}/images/random`);
|
||||
})
|
||||
.then(res => {
|
||||
console.log(res.body.message);
|
||||
return writeFilePro('dog-img.txt', res.body.message);
|
||||
})
|
||||
.then(() => {
|
||||
console.log('Random dog image saved to file!');
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
*/
|
||||
147
3-asynchronous-JS/final/package-lock.json
generated
Normal file
147
3-asynchronous-JS/final/package-lock.json
generated
Normal file
@@ -0,0 +1,147 @@
|
||||
{
|
||||
"name": "3-asynchronous-js",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
|
||||
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"component-emitter": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
|
||||
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
|
||||
},
|
||||
"cookiejar": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
|
||||
"integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.6",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"formidable": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz",
|
||||
"integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg=="
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"methods": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
|
||||
},
|
||||
"mime": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz",
|
||||
"integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg=="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz",
|
||||
"integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.22",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz",
|
||||
"integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==",
|
||||
"requires": {
|
||||
"mime-db": "~1.38.0"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
|
||||
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
|
||||
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz",
|
||||
"integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz",
|
||||
"integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ=="
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
|
||||
"integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"superagent": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-5.0.2.tgz",
|
||||
"integrity": "sha512-CqeqvwByDJuLwhcO6NOSuPatyQOIZX/TlvD5GJnXg5tzBTth2xQGZGdAZdo/kX+BtzvwJFX2IGGczTZgEIT7Wg==",
|
||||
"requires": {
|
||||
"component-emitter": "^1.2.1",
|
||||
"cookiejar": "^2.1.2",
|
||||
"debug": "^4.1.1",
|
||||
"form-data": "^2.3.3",
|
||||
"formidable": "^1.2.1",
|
||||
"methods": "^1.1.2",
|
||||
"mime": "^2.4.0",
|
||||
"qs": "^6.7.0",
|
||||
"readable-stream": "^3.2.0",
|
||||
"semver": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
}
|
||||
}
|
||||
}
|
||||
14
3-asynchronous-JS/final/package.json
Normal file
14
3-asynchronous-JS/final/package.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "3-asynchronous-js",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"superagent": "^5.0.2"
|
||||
}
|
||||
}
|
||||
1
3-asynchronous-JS/starter/dog.txt
Normal file
1
3-asynchronous-JS/starter/dog.txt
Normal file
@@ -0,0 +1 @@
|
||||
retriever
|
||||
Reference in New Issue
Block a user