Евгений
ааа
Alex
Всем спасибо.
Alex
А то у меня голова кругом шла уже.
Владислав
Всем привет. Есть небольшой вопрос. function calculate(a, b) { return a + b; } function cancel(arg) { return alert("Для продолжения необходимо указать число " + arg + '!'); } var a = +prompt("Введите число A", ""); if(!isFinite(a)) { cancel("A"); } var b = +prompt("Введите число B", ""); if(!isFinite(b)) { cancel("B"); } alert("Сумма чисел A и B = " + calculate(a, b)); Как завершить полностью работу скрипта при вызове функции cancel?
hlomzik
Есть небольшой ресурс, gist.github.com. Или даже jsfiddle
Владислав
ОК, сейчас залью.
hlomzik
В любом случае чат не тот. #noobs
hlomzik
И вопрос странный
hlomzik
#noobs
Group Butler [beta]
#noobs
pro.js.noobs -- https://t.me/joinchat/AAAAAD3Uyr3trzb9rRc77g
Anonymous
И вопрос странный
он никому не мешал
Anonymous
какая разница где он задает вопрос
hlomzik
он никому не мешал
Он начал с того, что не почитал правила и не оценил уровень
Anonymous
Anonymous
попробуй ответить на него
hlomzik
Я не понимаю вопроса, чего уж там) окружение — браузер. При вызове промта и алерта скрипт блокируется. После достижения выхода из функции код больше выполняться не будет.
Anonymous
>Я не понимаю вопроса ну видишь, сложный вопрос
Владислав
Поставлю вопрос чуть иначе. Скрипт ругается на "нелегальное состояние" некоторых ретурнов. + функция продолжает работу. Что я делаю не так? https://gist.github.com/Subb98/e3f2a21fe1664a2cd0c3ef65e4015315
Владислав
Со значениями тоже ретурнить пробовал.
Anonymous
if(!isFinite(a)) { cancel("A"); return; }
Anonymous
тут return не нужен, потому что ты здесь не находишься внутри функции
Владислав
Гм, понял. То есть, мне нужно останавливать работу уже из cancel.
Anonymous
Гм, понял. То есть, мне нужно останавливать работу уже из cancel.
заверни весь свой скрипт в какую-нибудь функцию, так легче будет
Alex
Ага, так половина jquery штук работает
Владислав
ОК, благодарю за совет, буду пробовать =) Я просто надеялся избежать этого.
Anonymous
https://vk.com/wall-54530371_31
Aleksandr
Ребят, есть такие, кто clojure либо clojurescript пользуется? Как исправить такую ошибку? java.lang.ClassCastException: clojure.lang.Var$Unbound cannot be cast to clojure.lang.Atom
Oleg
А гугл что говорит?
Aleksandr
А гугл что говорит?
Очень разношёрстные проблемы по этой ошибке
Aleksandr
О, спасибо
Dmitry
Привет, есть кто не спит и работал c sequlize?
Vlad
крокфорд про пост-жс мир https://www.youtube.com/watch?v=6Fg3Aj9GzNw
Anonymous
Привет всем, ктони-будь работал с dropzonejs?
Anonymous
И еще вопрос как сделать чтобы во время работы функции uploadPhotos, $(".uploaded-bar") устанавливался стиль, а не после того как все файл загрузятся? function sleep(ms) { ms += new Date().getTime(); while (new Date() < ms) {} } function uploadPhotos() { $(".order-uploaded").css("display", "block"); var percent = 100.0 / myDropzone.files.length; var totalProgress = 0; myDropzone.files.forEach(function (item, _, _) { myDropzone.processFile(item) totalProgress += percent; $(".uploaded-bar").css("width", totalProgress + "%"); sleep(1000); //~~~~1 sec delay ~~~~ }); };
Дима
Жёсткий подход -_+
Oleg
крокфорд про пост-жс мир https://www.youtube.com/watch?v=6Fg3Aj9GzNw
Полностью посмотрел? Если в пару предложений - в чем основная суть?
Azein
Послушал половину, пока основной посыл что все плохо - object.assign, генераторы, промисы - все было ошибкой...
Azein
а функциональное программирование - хорошо, вот
Alex
@Azeinpwr чем это промисы плохи?
Azein
мне норм, а крокфорду не очень
Oleg
А без асунк\авейтов код на ноде был либо колбекхелом, либо с костылями
Oleg
Всё потому что процесс вычисления часто предполагает асинхронные запросы к другим частям. И процесс не всегда линеен - например если нужно в зависимости от значения делать или не делать асинхронный запрос - уже была проблема
Oleg
Боль, страдания, и каждый пытался решать это по своему, куча разных библиотек, подходов и всего такого
Oleg
Вместо того чтобы решать задачи - решаешь неудобства
Oleg
А асунк-авейт на промисах...
Oleg
Но будет интересно если кто-либо предложит более эффективное решение чем асунк-авейты
Alexander
Генераторы же
Oleg
Разве генераторы удобнее?
Alexander
Мб не такое эффективное, но решение
Alexander
Разве генераторы удобнее?
Ну в них очевиднее моменты передачи управления
Alexander
Во внешний код
Azein
я не сильно шарю, но в генераторных решениях есть вещи вроде const x = yield somePromise
Oleg
Вообще цепочка была такая - сначала калбекхелы, потом цепочки промисов, потом генераторы, а сейчас асунк-авейты
Oleg
Вот интересно как можно лучше сделать
Azein
что работает примерно также как const x = await somePromise
Alexander
Я не юзал поэтому не знаю точно
Alexander
Надо тц39 читать
Oleg
Вообще ещё есть другой, извращенский вариант, но там не будет асинхронности... в первой итерации. Писать код как обычно, ничего не меняя. Но на самом нижнем уровне детализации этот код будет кидать в стек цепочку вызовов которые нужно исполнить, причем и синхронные и асинхронные. И в конце своего кода вызываешь метод "исполнить" который исполняет всё что ты там накидал в стек. В том числе асинхронно. Причем с таким кодом, теоретически, можно его компилить и не тащить в прод само описание алгоритма, а тащить сразу стек.
Oleg
В таком варианте не важно что под капотом - функции простые, промисы, генераторы или асунк-авейты. Для машины всё-равно.
Oleg
При этом с одной стороны код плоский как будто оно исполяется синхронно, с другой стороны используем всю мощь асинхронности без простоек
Smooth Operator
rxjs?)
Oleg
😄
Дима
Велосипед изобретаете))
Дима
С асинк генераторами есть какие-то заморочки
Асинк генераторы — это прямо сосем не про это)
Дима
В данном контексте все подразумевают просто обычные генераторы и yield асинхронных операций, по типу co и bluebird.coroutine
Oleg
Велосипед изобретаете))
Виртуальную машину
andrei
виртуальный велосипед
Дима
Хотя конечно async generators это крайне мощная штука)) Но в подавляющем большинстве типичных задач они как белаз в городе))
Дима
Виртуальную машину
Ну как тебе сказать))
Oleg
😄
Oleg
Я просто сегодня думал как бы мне решить 100500 асинхронных запросов без 100500 слов асунк в начале