Как сделать 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 без паузы и все виснет... } } помогите решить эту мелкую проблемку:help: |
(run =()=> {
//Код
if (условие) setTimeout(run, 1000);
})();
|
Цитата:
run это моя GLOBAL? |
Цитата:
|
Цитата:
не канает все равно GLOBAL потом в других сриптах не видно |
Это из за области видимости, не совсем понимаю что вы хотите сделать.
|
j0hnik,
GLOBAL нужен "сейчас", а формируется он "потом", в который раз ищется "снежная королева, которая заморозит js" на время формирования. Signal, читать про Promise, async function*, await, и учиться мыслить асинхронно. |
рони,
почему обычный колбек не подходит? (раз вы понимаете чего ТС хочет) |
j0hnik,
подойдёт и колбек если он будет вместо GLOBAL |
сейчас так
GLOBAL fn(){GLOBAL} а надо Load.then(fn(GLOBAL)) |
| Часовой пояс GMT +3, время: 23:04. |