Я написал очень маленький скрипт в node.js
, используя request
и cheerio
для разбора titles
, подключенного к links
, который я уже вырезал с его целевой страницы.
Проблема в том, что я не могу найти никакой идеи относительно того, как я могу передавать ссылки (заполненные из первой функции) на вторую функцию, чтобы получить оттуда заголовки.Я очень плохо знаком с node.js
, поэтому не могу понять, как вернуть результат из первой функции и передать их второй.
У меня ошибка:
for (const link of links) {
^
ReferenceError: links is not defined
Это полный скрипт:
var request = require('request');
var cheerio = require('cheerio');
const url = 'https://news.ycombinator.com';
request(url, function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
$('.title .storylink').each(function(){
var links = $(this).attr("href");
});
}
});
for (const link of links) {
(function(url) {
request(url, function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
var title = $('title').eq(0).text();
console.log(title);
}
});
})(link);
}
Кстати, селекторы, используемые в скрипте, безупречны.Все, что мне нужно знать, это передать результат от одной функции к другой.