Optimize getInfo

This commit is contained in:
Moe Poi ~ 2020-05-11 17:56:00 +00:00
parent e4e8524b9c
commit b7770e4483

View file

@ -7,30 +7,29 @@
const axios = require('axios');
const cheerio = require('cheerio');
let links = [];
const getInfo = (url) => {
return new Promise((resolve, reject) => {
axios.get(url).then(function(req) {
let soup = cheerio.load(req.data);
var title = soup("title").text();
soup('div.liner').each(function(i, e) {
soup(e).find('div.listlink').each(function(j, s) {
links.push(soup(s).find('a').attr('href'))
});
const getInfo = url => {
return new Promise((resolve, reject) => {
axios.get(url)
.then(req => {
try {
const links = [];
let soup = cheerio.load(req.data);
let title = soup("title").text();
soup('div.liner').each(function(i, e) {
soup(e).find('div.listlink').each(function(j, s) {
links.push(soup(s).find('a').attr('href'))
});
var data = {
"title": title,
"links": links
};
if (data == null) {
reject("No result :(");
} else {
var result = JSON.stringify(data, null, 2);
resolve(result);
}
});
});
});
const data = {
"title": title,
"links": links
};
resolve(data)
} catch (err) {
reject('Error : ' + err)
}
})
});
};
module.exports = getInfo;