потому что отправлять каждый раз запрос будет сильно тормозить работу кода
async/await
:(async () => {
const requestData = await new Promise(resolve => {
client.query(`запрос`, function (err, results) {
resolve(results);
});
})
console.log(requestData);
})();
callback-функции
. Если продолжать работать внутри callback-функции
, то и выносит переменную в глобальную область не нужно. Если использовать асинхронный код, то через async/await
можно просто присвоить результат запроса к переменной и дальше работать с ней в основном коде. value
только при загрузке страницы один раз. И каждый запрос значение переменной остается неизменным. Вам нужно получать value
внутри AJAX-запроса или внутри функции getStats()
://Запрашиваем статистику
function getStats(){
$.ajax(settings).done(function (response) {
//Переменные для запроса
let apiUrl = $("#apiUrl").val();
let gamertag = escape($("#gamertag").val());
let platform = $("input[name='platform']:checked").val();
console.log(gamertag);
//Параметры запроса
let settings = {
"async": true,
"crossDomain": true,
"url": apiUrl + gamertag + '/' + platform,
"method": "GET",
"headers": {
"x-rapidapi-host": "call-of-duty-modern-warfare.p.rapidapi.com",
"x-rapidapi-key": "49612a1b8bmsh9cd817dc9f00608p1bce8cjsn1635a0626299"
}
}
//Отображаем по какому URL получаем данные
let settingsURL = settings['url'];
console.log('URL запроса:' + settingsURL);
//Объект в переменную
let json = response;
.....
var message = "!test vk.com/123";
var re = /^.*vk\.com\/(.*)$/i;
var search = message.replace(re, "$1");
console.log(search);
.match
:var message = "!test vk.com/123";
var re = /^.*vk\.com\/(.*)$/i;
var search = message.match(re)[1];
console.log(search);
async/await
, чтобы работать с полученными данными дальше в основном коде, а не внутри callback-функции, как у вас:const request = require('request');
const cheerio = require('cheerio');
(async () => {
let news = [];
const requestBody = await new Promise((resolve) => {
request('https://echo.msk.ru/news/', (error, response, body) => {
if (!error && response.statusCode == 200) {
resolve(body);
}
});
});
const $ = cheerio.load(requestBody);
$('h3 a').each(function () {
news.push($(this).text());
});
console.log(news);
})();