const cheerio = require('cheerio');
const request = require('request');
let currencys = [];
var usd = 0
var eur = 0
var rub = 0
var byn = 0
function addCurrValue(){
request({
method: 'GET',
url: 'https://select.by/kursy-valyut/natsbank-rb'
}, (err, res, body) => {
if (err) return console.error(err);
let $ = cheerio.load(body);
$('span').each(function (i, e) {
currencys[i] = $(this).text();
});
usd = currencys[4]
eur = currencys[5]
rub = currencys[6]
console.log(usd); // 2,6
});
}
addCurrValue()
console.log(usd); // 0
console.log(eur); // 0
console.log(rub); // 0
console.log(currencys[4]); // undefined
(err, res, body) => { ... }
. console.log()
выполняются прямо сразу – поэтому в них ещё ничего нет и выводится 0
.const cheerio = require('cheerio');
const request = require('request');
var currencys = [];
var usd = 0
var eur = 0
var rub = 0
var byn = 0
function addCurrValue(){
return new Promise((resolve, reject) => {
request({
method: 'GET',
url: 'https://select.by/kursy-valyut/natsbank-rb'
}, function(err, res, body){
if (err) return console.error(err);
let $ = cheerio.load(body);
$('span').each(function (i, e) {
currencys[i] = $(this).text();
});
resolve()
})
})
}
(async function() {
await addCurrValue()
// работаешь только после того как получишь данные с первой функции
usd = currencys[4]
eur = currencys[5]
rub = currencys[6]
console.log(usd,eur,rub)
})()