Показать сообщение отдельно
  #1 (permalink)  
Старый 05.12.2021, 09:03
Новичок на форуме
Отправить личное сообщение для Gleb Suprun Посмотреть профиль Найти все сообщения от Gleb Suprun
 
Регистрация: 05.12.2021
Сообщений: 4

Получить значение с асинхронной функции для дальнейшего использования в цикле
Суть кода: есть несколько функций, которые парсят сайт, внутри переменные которые получают нужные значения, и при определённом условии они выводят true/false.

Суть дальнейшей задачи: нужно сделать цикл в котором будут участвовать функции, а точнее их конечные значения, для того что бы по ним сделать фильтр

Проблема: Не могу или не знаю как вынести конечное значение вывести конечное значение для дальнейшего использования.

const axios = require('axios');
const cheerio = require('cheerio');
const readline = require('readline').createInterface({
	input: process.stdin,
	output: process.stdout
});


readline.question('Введите ID пользователя: ', function (answer) {
	let userID = answer;

	//LVL
	function getLvl(userLvl) {
		const parse = async () => {
			const getHTML = async (url) => {
				const { data } = await axios.get(url)
				return cheerio.load(data)
			}
			const $ = await getHTML('https://steamcommunity.com/profiles/' + String(userID));
			let userLvl = $('span.friendPlayerLevelNum').eq(0).text();
			if ((Number(userLvl) === 0)) {
				userLvl = true;
			} else {
				userLvl = false;
			}
			console.log(userLvl);
		}
		parse();
	}
	getLvl();

	//ONLINE
	function getOnline(userOnline) {
		const parse = async () => {
			const getHTML = async (url) => {
				const { data } = await axios.get(url)
				return cheerio.load(data)
			}
			const $ = await getHTML('https://steamcommunity.com/profiles/' + String(userID));
			let userOnline = $('div.profile_in_game_header').eq(0).text();
			if ((String(userOnline) === 'Currently Online')) {
				userOnline = true;
			} else if ((String(userOnline) === 'Currently In-Game')) {
				userOnline = true;
			} else if ((String(userOnline) === 'In non-Steam game')) {
				userOnline = true;
			} else {
				userOnline = false;
			}
			console.log(userOnline);
		}
		parse();
	}
	getOnline();
})
Ответить с цитированием