Как вызвать функции?
Всем привет, простые функции вызывать умею, но непонимаю как вызвать функции такого плана
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script type='text/javascript'>
$.getJSON(
'http://ip-api.com/json?callback=?',
function({query, isp, countryCode}) {
if (countryCode == "RU"){window.goodCountry = 1;}
if (isp == "Sibirskie Seti Ltd."){window.goodIsp = 1;}})
navigator.getBattery().then(function(battery)
{
var bad_level = battery.level;
if ( bad_level != "1"|bad_level != "0"){
window.goodBattery = 1;
}});
alert(window.goodBattery);
alert(window.goodCountry );
alert(window.goodIsp);
</script>
</body>
</html>
Везде получаю значение undefined. |
Цитата:
А вот про асинхронность их выполнения ты забываешь. ;) На момент вывода алертов, данные не получены. Если хочешь их выводить - делай это в калбэк-функции метода $.getJSON(...); |
Цитата:
window.goodIsp=1 window.goodCountry = 1 window.goodBattery = 1 Потом посчитать сумму,если сумма 3 то одно действие,если нет то другое
var result= window.goodIsp + window.goodCountry + window.goodBattery
if (result ==3){
alert("result good")
}
else{
alert("Result False")
}
Как то так.Подскажите пожалуйста правильный вариант кода.JS Только учу, а скрипт нужен сейчас . |
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script type='text/javascript'>
Promise.all([
$.getJSON('https://ip-api.com/json?callback=?'),
navigator.getBattery()
]).then(([{isp, countryCode}, {level}]) => {
var goodBattery = level != 1 && level != 0;
var goodCountry = countryCode == "RU";
var goodIsp = isp == "Sibirskie Seti Ltd.";
alert(goodBattery);
alert(goodCountry );
alert(goodIsp);
if (goodIsp && goodCountry && goodBattery){
alert("result good")
} else{
alert("Result False")
}
}, console.error);
</script>
</body>
</html>
Примерно так. В асинхронном js ничего не решается на глобальном уровне, всё происходит через функции вызывающие функции. Смиритесь. |
| Часовой пояс GMT +3, время: 12:41. |