Как сделать 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, время: 10:45. |