Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для skapunker
-30 / 25 / 12
Регистрация: 13.12.2013
Сообщений: 1,465

Как приостановить выполнение скрипта, пока не загрузится промис?

17.04.2024, 12:08. Показов 1706. Ответов 28
Метки js (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Подскажите, как приостановить выполнение скрипта, пока не загрузится промис?

При этом не помещая весь остальной код в функцию, и не помещая весь остальной код внутрь промиса.

Добавлено через 5 минут
смысл в том, чтобы подтянуть фетчем файл с конфигом, а потом выполнить код
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.04.2024, 12:08
Ответы с готовыми решениями:

Как приостановить выполнение скрипта так, чтобы таймер не переставал отсчитывать время?
Как приостановить выполнение скрипта так чтобы таймер не переставал отсчитывать время? Как например это делает ShowMessage, только чтобы...

Приостановить выполнение, пока не отреагирует пользователь
Подскажите как можно приостановить выполнение метода, пока не среагирует пользователь? Вот пример: using System; using...

Приостановить выполнение программы пока не сработает таймер n раз
Имеется вот такой обработчик события Tick: private void tmr_Tick(object sender, EventArgs e) { if (kol...

28
 Аватар для skapunker
-30 / 25 / 12
Регистрация: 13.12.2013
Сообщений: 1,465
19.04.2024, 22:26  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от voraa Посмотреть сообщение
Зачем оборачивать?
JavaScript
1
2
3
4
.then((config)=> {
// приложение
 // не?
}
0
 Аватар для voraa
1305 / 1321 / 193
Регистрация: 21.01.2024
Сообщений: 6,093
19.04.2024, 22:27
А какие переменные тут меняют область видимости?
0
 Аватар для skapunker
-30 / 25 / 12
Регистрация: 13.12.2013
Сообщений: 1,465
19.04.2024, 22:31  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
А какие переменные тут меняют область видимости?
JavaScript
1
2
3
4
5
6
7
8
9
.then((config)=> {
// содержимое 1 скрипта
}
.then((config)=> {
// содержимое 2 скрипта
}
.then((config)=> {
// содержимое 3 скрипта
}
а если открыть скобку в 1 скрипте, а закрыть в 3, то опять путаница получится, черт потом эти скобки разберет
0
 Аватар для voraa
1305 / 1321 / 193
Регистрация: 21.01.2024
Сообщений: 6,093
19.04.2024, 22:33
Про переменные ничего нет
Цитата Сообщение от skapunker Посмотреть сообщение
а если открыть скобку в 1 скрипте, а закрыть в 3,
А это еще меньше понимаю.
0
 Аватар для skapunker
-30 / 25 / 12
Регистрация: 13.12.2013
Сообщений: 1,465
19.04.2024, 22:41  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
Про переменные ничего нет
внутри каждого скрипта есть переменные let
0
 Аватар для voraa
1305 / 1321 / 193
Регистрация: 21.01.2024
Сообщений: 6,093
19.04.2024, 22:54
Значит вы меня не понимаете.
Есть скрипт загрузки конфига
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script>
function getConfig() {
    return fetch('/config.json')
        .then((response) => {
            if (response.status === 200 && response.ok === true) {
                return response.json()
            } else {
                console.log('не удалось загрузить конфигурацию');
                return null // лучше тоже throw new Error('не удалось загрузить конфигурацию');
            }
        })
        .catch(() => {
            throw new Error('конфигурация не найдена');
        })
}
 
const pconfig = getConfig();
</script>
Он идет первым
Далее ваши скрипты
HTML5
1
2
3
4
5
!-- файлы приложения, им нужен конфиг-->
<script src="/html/init.js"></script>
<script src="/html/interface.js"></script>
<script src="/html/api.js"></script>
<script src="/html/chat.js"></script>
Их придется править.
Те части скриптов, которые работают с конфигом надо оформлять
JavaScript
1
pconfig.then(config => {/* Что то делаем, где нужен конфиг*/})
0
 Аватар для skapunker
-30 / 25 / 12
Регистрация: 13.12.2013
Сообщений: 1,465
19.04.2024, 22:55  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
/* Что то делаем, где нужен конфиг*/
там везде конфиг нужен, придется каждый скрипт полностю оборачивать
0
 Аватар для voraa
1305 / 1321 / 193
Регистрация: 21.01.2024
Сообщений: 6,093
19.04.2024, 23:29
Можно еще хорошенько подумать, а надо ли конфиг грузить фетчем?
Есть ли в этом большая необходимость?
Какие причины заставляют делать так?
Почему нельзя сделать скипт
config.js
JavaScript
1
2
3
const config = JSON.parse(`
/* тут сам конфиг в json*/
`)
Я вижу одну причину так не делать - конфиг часто меняется, и он должен каждый раз скачиваться, а не браться из кеша.
(Хотя могут быть и другие)
Но если это не так, то это вполне рабочий вариант

Добавлено через 19 минут
Ну и обычно все таки скрип состоит из объявлений переменных и функций.
Есть несколько "главных" функций, которые вызываются из скрипта и потом сами вызывают остальные.
Вот вызов этих "главных" функций можно и поместить в
JavaScript
1
2
3
pconfig.then(config => {
     /* Что то делаем, где нужен конфиг*/
})
0
 Аватар для skapunker
-30 / 25 / 12
Регистрация: 13.12.2013
Сообщений: 1,465
20.04.2024, 06:42  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
Можно еще хорошенько подумать, а надо ли конфиг грузить фетчем?
надо чтобы конфиг можно было изменить на сервере
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2024, 06:42

Необходимо приостановить выполнение кода первой формы, пока открыта вторая
необходимо приостановить выполнение кода первой формы, пока открыта вторая как организовать? Добавлено через 54 минуты и...

telegram bot api возможно ли приостановить выполнение программы пока не придет ответ от пользователя
Здравствуйте! Появился такой вопрос - возможно ли приостановить выполнение программы пока не придет ответ от пользователя? Т.е. отправляем...

как подождать, пока загрузится элементы?
С джавой начал разбираться только 3 дня назад. Задача такая: Есть веб-сервер на микроконтроллере со скоростью отдачи 4 кб/с(для каждого...

Как непоказывать сайт пока полностью не загрузится в кеш?
Как непоказывать сайт пока полностью не загрузится в кеш?

Как показывать всплывающее окно до тех пор, пока не загрузится html полностью?
Данные с сервера подгружаются долго. Примерно 30-120 секунд. В это время в окне браузера понемногу добавляется html. Как сделать так,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru