Я создаю данные JSON, и мне трудно изменить свойство sub
моих данных.Nodejs: Как вызвать функцию дважды с другим параметром?
Для моего первого обещания я хочу, чтобы свойство каждого объекта sub
содержало значение theonion
. Для второго обещания, я хочу, чтобы это было nottheonion
. Однако оба файла (onion.json и nottheonion.json) в конечном итоге идентичны, оба содержат данные из r/nottheonion
Вот мой код.
function parse(html, subreddit) {
var $ = cheerio.load(html);
$("div#siteTable > div.link").each(function(idx) {
var title = $(this).find('p.title > a.title').text().trim();
posts.push({ sub: subreddit, content: title });
});
var posts_as_json = JSON.stringify(posts);
return posts_as_json;
}
var append = file => content => fsp.appendFile(file, content);
rp(onion_url)
.then(html => parse(html, "onion"))
.then(append('onion.json'))
.then(() => console.log('Onion Success'))
.catch(err => console.log('Error: ', err));
rp(not_onion_url)
.then(html => parse(html, "nottheonion"))
.then(append('not_onion.json'))
.then(() => console.log('Not Onion Success'))
.catch(err => console.log('Error: ', err));
где 'posts' объявлен? Вы знаете, что обе обетования имеют один и тот же массив 'posts'-array? – Thomas