Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2018, 11:11
Новичок на форуме
Отправить личное сообщение для profitcpa Посмотреть профиль Найти все сообщения от profitcpa
 
Регистрация: 15.02.2018
Сообщений: 2

Как вызвать функции?
Всем привет, простые функции вызывать умею, но непонимаю как вызвать функции такого плана
<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.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2018, 11:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от profitcpa
но непонимаю как вызвать функции такого плана
Все функции вызываются одинаково...

А вот про асинхронность их выполнения ты забываешь.
На момент вывода алертов, данные не получены. Если хочешь их выводить - делай это в калбэк-функции метода
$.getJSON(...);
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2018, 12:13
Новичок на форуме
Отправить личное сообщение для profitcpa Посмотреть профиль Найти все сообщения от profitcpa
 
Регистрация: 15.02.2018
Сообщений: 2

Сообщение от ksa Посмотреть сообщение
Все функции вызываются одинаково...

А вот про асинхронность их выполнения ты забываешь.
На момент вывода алертов, данные не получены. Если хочешь их выводить - делай это в калбэк-функции метода
$.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 Только учу, а скрипт нужен сейчас .
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2018, 23:43
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

<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 ничего не решается на глобальном уровне, всё происходит через функции вызывающие функции. Смиритесь.
__________________
29375, 35

Последний раз редактировалось Aetae, 15.02.2018 в 23:46.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать переменную функции onclick глобальной? Vlad_Gera Элементы интерфейса 6 27.04.2017 16:25
В callback функции теряется контекст. Как это обойти? xintrea AJAX и COMET 4 02.06.2013 11:40
Как через динамическую втавку в страницу автоматически вызвать функцию javascript? Roberts AJAX и COMET 2 19.03.2013 12:32
как Вызвать две функции 131202 Элементы интерфейса 3 27.12.2012 23:09
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45