Size: a a a

JavaScript.Ninja

2020 July 07

EN

El Nasurov in JavaScript.Ninja
Ребят, а можно ли в js самому полностью заморозить выполнение всего скрипта (как это делает window.alert и его собратья) ?

Решаю задачу версионности проекта. Бэк возращает во всех своих ответах номер актуальной версии. Нужно при ее отличии с той, которая хранится на фронте, вызвать модальное окно, которое рассказывает юзеру о том, что его версия фронта устарела и что ему нужно тыкнуть на "ок", после чего страница перезагрузится и ему придет новая версия.

Хотелось бы после показа данного модального окна заморозить всё выполнение js-кода, пока юзер не тыкнет на "ок". Ибо отказаться он не может, а просто так делать api запросы и обрабатывать их - не нужно (один фиг страница обновится).
источник

VK

Vladimir Klimov in JavaScript.Ninja
El Nasurov
Ребят, а можно ли в js самому полностью заморозить выполнение всего скрипта (как это делает window.alert и его собратья) ?

Решаю задачу версионности проекта. Бэк возращает во всех своих ответах номер актуальной версии. Нужно при ее отличии с той, которая хранится на фронте, вызвать модальное окно, которое рассказывает юзеру о том, что его версия фронта устарела и что ему нужно тыкнуть на "ок", после чего страница перезагрузится и ему придет новая версия.

Хотелось бы после показа данного модального окна заморозить всё выполнение js-кода, пока юзер не тыкнет на "ок". Ибо отказаться он не может, а просто так делать api запросы и обрабатывать их - не нужно (один фиг страница обновится).
По-честному прям остановить event loop вроде как нельзя
источник

v

vasilich in JavaScript.Ninja
El Nasurov
Ребят, а можно ли в js самому полностью заморозить выполнение всего скрипта (как это делает window.alert и его собратья) ?

Решаю задачу версионности проекта. Бэк возращает во всех своих ответах номер актуальной версии. Нужно при ее отличии с той, которая хранится на фронте, вызвать модальное окно, которое рассказывает юзеру о том, что его версия фронта устарела и что ему нужно тыкнуть на "ок", после чего страница перезагрузится и ему придет новая версия.

Хотелось бы после показа данного модального окна заморозить всё выполнение js-кода, пока юзер не тыкнет на "ок". Ибо отказаться он не может, а просто так делать api запросы и обрабатывать их - не нужно (один фиг страница обновится).
Запусти бесконечный микротаск)
После открытия модалки.
Кнопка Окей уже не сработает, но и юзер дальше не сможет ничего сделать ;-)
источник

M

Misha in JavaScript.Ninja
El Nasurov
Ребят, а можно ли в js самому полностью заморозить выполнение всего скрипта (как это делает window.alert и его собратья) ?

Решаю задачу версионности проекта. Бэк возращает во всех своих ответах номер актуальной версии. Нужно при ее отличии с той, которая хранится на фронте, вызвать модальное окно, которое рассказывает юзеру о том, что его версия фронта устарела и что ему нужно тыкнуть на "ок", после чего страница перезагрузится и ему придет новая версия.

Хотелось бы после показа данного модального окна заморозить всё выполнение js-кода, пока юзер не тыкнет на "ок". Ибо отказаться он не может, а просто так делать api запросы и обрабатывать их - не нужно (один фиг страница обновится).
Если у него нет опции отказаться то зачем вообще спрашивать?
источник

L

Looch in JavaScript.Ninja
El Nasurov
Ребят, а можно ли в js самому полностью заморозить выполнение всего скрипта (как это делает window.alert и его собратья) ?

Решаю задачу версионности проекта. Бэк возращает во всех своих ответах номер актуальной версии. Нужно при ее отличии с той, которая хранится на фронте, вызвать модальное окно, которое рассказывает юзеру о том, что его версия фронта устарела и что ему нужно тыкнуть на "ок", после чего страница перезагрузится и ему придет новая версия.

Хотелось бы после показа данного модального окна заморозить всё выполнение js-кода, пока юзер не тыкнет на "ок". Ибо отказаться он не может, а просто так делать api запросы и обрабатывать их - не нужно (один фиг страница обновится).
просто promt/confir напиши и все
источник

L

Looch in JavaScript.Ninja
зачем парится
источник

EN

El Nasurov in JavaScript.Ninja
Misha
Если у него нет опции отказаться то зачем вообще спрашивать?
Ну чтобы исключить эффект неожиданности.

Сидит он, работает на сервисе и тут бац - страница перезагрузилась.. А так хоть будет понимать, что произошло
источник

v

vasilich in JavaScript.Ninja
El Nasurov
Ну чтобы исключить эффект неожиданности.

Сидит он, работает на сервисе и тут бац - страница перезагрузилась.. А так хоть будет понимать, что произошло
Достаточно нотификации с таймером отсчета, нет?
источник

EN

El Nasurov in JavaScript.Ninja
Согласен, есть неплохие альтернативы своей модалке в этом кейсе)

Подумаю, спасибо за отклик, ребят
источник

МК

Максим Кавецкий... in JavaScript.Ninja
Сгенерировал svg и сохраняю его. На обычном svg из flaticon работает нормально.. Однако мой сгенерированный почему-то не сохраняется в должной мере..
———
https://codepen.io/NikSik/pen/wvMmYYO
источник

V

Valentin in JavaScript.Ninja
Хочу весь текст (для этого есть свои реакт компоненты) прогонять через типограф (например https://www.artlebedev.ru/typograf/ ), будет ли затратно это делать в ssr при рендере или генерации статики? Или таке делать на сервере или хранить сразу типографированный текст?
источник
2020 July 08

V

Vladosik in JavaScript.Ninja
такой вопрос, как можно обьявить так сказать interface в js
import { MainState } from './main/state';

export interface State {
   main: MainState;
}

код из ts
источник

IK

Illya Klymov in JavaScript.Ninja
никак
источник

IK

Illya Klymov in JavaScript.Ninja
в js нет типов, соответственно нет необходимости в интерфейсах
источник

V

Vladosik in JavaScript.Ninja
а каким образом можно реализовать что-то подобное?
источник

IK

Illya Klymov in JavaScript.Ninja
что вы хотите от "интерфейса"?
источник

V

Vladosik in JavaScript.Ninja
ну есть так сказать какой-то скелет интерфейсов (on screen), к которым потом ПО будет обращаться в зависимости от ситуации... я думаю мб уже глобальные переменные просто обьявить...
извиняюсь за такое обьяснение, в js почти 0, но заставили переписывать из ts в js ))
источник

Д

Димка in JavaScript.Ninja
Vladosik
ну есть так сказать какой-то скелет интерфейсов (on screen), к которым потом ПО будет обращаться в зависимости от ситуации... я думаю мб уже глобальные переменные просто обьявить...
извиняюсь за такое обьяснение, в js почти 0, но заставили переписывать из ts в js ))
что-то не понимаю, что вам надо, но возможно JSDoc поможет)
источник

BK

Beknazar Kemelov in JavaScript.Ninja
Vladosik
такой вопрос, как можно обьявить так сказать interface в js
import { MainState } from './main/state';

export interface State {
   main: MainState;
}

код из ts
Возможно это поможет
источник

BK

Beknazar Kemelov in JavaScript.Ninja
Beknazar Kemelov
Возможно это поможет
источник