Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2018, 20:41
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Как сделать while с интервалом или...
Здравствуйте комрады!
собственно вопрос глупый, вообщем пишу расширение с разными модулями под каждый сайт и изначально ступил и не правильно сделал старт.

вообщем конструкция такая
var GLOBAL= (function () {
function MAIN() {
  this.set=1;
  this.set2=2;
 // вообщем куча разных параметров
  LoadSetupData(); //===когда возвращалось как return то все нормуль, а теперь появился сайт где настройки нужно хранить в localStorage бекраунда и грузить надо через callback
   //собственно вопрос, как далее подождать, чтоб дождаться загрузки параметров, выриант впихнуть в LoadSetupData(function(okLoad) {
 не вариант, т.к. потом GLOBAL.MAIN.SITE не видно.. далее по тексту внизу...
});
  if (urlSite='site1') {
  this.SITE = new Site1();
} else if (urlSite='site2') {
  this.SITE = new Site2();
}
  return this;
}
})();


пробовал делать через
while(true) {
if (isLoadSetup) {
if (urlSite='site1') {....
но понятное дело, этот while без паузы и все виснет...
}
}

помогите решить эту мелкую проблемку
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2018, 23:49
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

(run =()=> {
	//Код
if (условие) setTimeout(run, 1000);
})();
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2018, 23:59
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от j0hnik Посмотреть сообщение
(run =()=> {
	//Код
if (условие) setTimeout(run, 1000);
})();
не понял эту котструкцию
run это моя GLOBAL?
Ответить с цитированием
  #4 (permalink)  
Старый 04.03.2018, 00:07
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от Signal Посмотреть сообщение
не понял эту котструкцию
run это моя GLOBAL?
ВСЕ ПОНЯЛ, БЛАГОДАРСТВУЮ!!!!
Ответить с цитированием
  #5 (permalink)  
Старый 04.03.2018, 01:42
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от j0hnik Посмотреть сообщение
(run =()=> {
	//Код
if (условие) setTimeout(run, 1000);
})();

не канает все равно
GLOBAL потом в других сриптах не видно
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2018, 07:23
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Это из за области видимости, не совсем понимаю что вы хотите сделать.
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2018, 08:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

j0hnik,
GLOBAL нужен "сейчас", а формируется он "потом", в который раз ищется "снежная королева, которая заморозит js" на время формирования.
Signal,

читать про Promise, async function*, await, и учиться мыслить асинхронно.
Ответить с цитированием
  #8 (permalink)  
Старый 04.03.2018, 08:34
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

рони,
почему обычный колбек не подходит? (раз вы понимаете чего ТС хочет)
Ответить с цитированием
  #9 (permalink)  
Старый 04.03.2018, 08:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

j0hnik,
подойдёт и колбек если он будет вместо GLOBAL
Ответить с цитированием
  #10 (permalink)  
Старый 04.03.2018, 08:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

сейчас так
GLOBAL
fn(){GLOBAL}
а надо
Load.then(fn(GLOBAL))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Как сделать калькулятор и с чего начать? A.P. Yellowman Общие вопросы Javascript 3 15.11.2013 21:32
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как отлаживать события? Или как сделать трассировку вызовов функций? gennad Events/DOM/Window 1 18.08.2010 13:21
Вопрос тупой, как сделать обычное по со списком или combobox иначе ? dennnyk Элементы интерфейса 1 07.07.2010 06:59