@JSlang

Страница 731 из 2237
Real Human
08.03.2017
14:25:37
какая разница где он задает вопрос

hlomzik
08.03.2017
14:26:09
он никому не мешал
Он начал с того, что не почитал правила и не оценил уровень

Real Human
08.03.2017
14:26:38
попробуй ответить на него

Google
hlomzik
08.03.2017
14:28:02
Я не понимаю вопроса, чего уж там) окружение — браузер. При вызове промта и алерта скрипт блокируется. После достижения выхода из функции код больше выполняться не будет.

Real Human
08.03.2017
14:29:06
>Я не понимаю вопроса ну видишь, сложный вопрос

Subb98
08.03.2017
14:30:59
Поставлю вопрос чуть иначе. Скрипт ругается на "нелегальное состояние" некоторых ретурнов. + функция продолжает работу. Что я делаю не так? https://gist.github.com/Subb98/e3f2a21fe1664a2cd0c3ef65e4015315

Со значениями тоже ретурнить пробовал.

Real Human
08.03.2017
14:32:15
if(!isFinite(a)) { cancel("A"); return; }

тут return не нужен, потому что ты здесь не находишься внутри функции

Subb98
08.03.2017
14:33:42
Гм, понял. То есть, мне нужно останавливать работу уже из cancel.

Real Human
08.03.2017
14:35:49
Гм, понял. То есть, мне нужно останавливать работу уже из cancel.
заверни весь свой скрипт в какую-нибудь функцию, так легче будет

Alex
08.03.2017
14:36:17
Ага, так половина jquery штук работает

Subb98
08.03.2017
14:36:40
ОК, благодарю за совет, буду пробовать =) Я просто надеялся избежать этого.

Real Human
08.03.2017
14:37:50
https://vk.com/wall-54530371_31

Aleksandr
08.03.2017
15:00:40
Ребят, есть такие, кто clojure либо clojurescript пользуется? Как исправить такую ошибку? java.lang.ClassCastException: clojure.lang.Var$Unbound cannot be cast to clojure.lang.Atom

Google
Oleg
08.03.2017
15:20:08
А гугл что говорит?

Aleksandr
08.03.2017
15:53:30
А гугл что говорит?
Очень разношёрстные проблемы по этой ошибке

Aleksandr
08.03.2017
16:02:23
О, спасибо

Dmitry
08.03.2017
23:18:36
Привет, есть кто не спит и работал c sequlize?

Vladimir
09.03.2017
00:01:18
крокфорд про пост-жс мир https://www.youtube.com/watch?v=6Fg3Aj9GzNw

Petr
09.03.2017
01:17:58
Привет всем, ктони-будь работал с dropzonejs?

И еще вопрос как сделать чтобы во время работы функции 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 ~~~~ }); };

Дмитрий
09.03.2017
01:30:25
Жёсткий подход -_+

Oleg
09.03.2017
04:42:33
крокфорд про пост-жс мир https://www.youtube.com/watch?v=6Fg3Aj9GzNw
Полностью посмотрел? Если в пару предложений - в чем основная суть?

Azein
09.03.2017
06:14:48
Послушал половину, пока основной посыл что все плохо - object.assign, генераторы, промисы - все было ошибкой...

а функциональное программирование - хорошо, вот

Alexey
09.03.2017
06:20:11
@Azeinpwr чем это промисы плохи?

Azein
09.03.2017
06:20:36
мне норм, а крокфорду не очень

Oleg
09.03.2017
06:21:37
А без асунк\авейтов код на ноде был либо колбекхелом, либо с костылями

Всё потому что процесс вычисления часто предполагает асинхронные запросы к другим частям. И процесс не всегда линеен - например если нужно в зависимости от значения делать или не делать асинхронный запрос - уже была проблема

Боль, страдания, и каждый пытался решать это по своему, куча разных библиотек, подходов и всего такого

Вместо того чтобы решать задачи - решаешь неудобства

А асунк-авейт на промисах...

Но будет интересно если кто-либо предложит более эффективное решение чем асунк-авейты

Google
Alexander
09.03.2017
06:30:48
Генераторы же

Oleg
09.03.2017
06:31:02
Разве генераторы удобнее?

Alexander
09.03.2017
06:31:06
Мб не такое эффективное, но решение

Разве генераторы удобнее?
Ну в них очевиднее моменты передачи управления

Во внешний код

Azein
09.03.2017
06:31:49
я не сильно шарю, но в генераторных решениях есть вещи вроде const x = yield somePromise

Oleg
09.03.2017
06:31:50
Вообще цепочка была такая - сначала калбекхелы, потом цепочки промисов, потом генераторы, а сейчас асунк-авейты

Вот интересно как можно лучше сделать

Alexander
09.03.2017
06:32:13
Azein
09.03.2017
06:32:16
что работает примерно также как const x = await somePromise

Alexander
09.03.2017
06:32:24
Я не юзал поэтому не знаю точно

Надо тц39 читать

Oleg
09.03.2017
06:36:51
Вообще ещё есть другой, извращенский вариант, но там не будет асинхронности... в первой итерации. Писать код как обычно, ничего не меняя. Но на самом нижнем уровне детализации этот код будет кидать в стек цепочку вызовов которые нужно исполнить, причем и синхронные и асинхронные. И в конце своего кода вызываешь метод "исполнить" который исполняет всё что ты там накидал в стек. В том числе асинхронно. Причем с таким кодом, теоретически, можно его компилить и не тащить в прод само описание алгоритма, а тащить сразу стек.

Oleg
09.03.2017
06:39:22
В таком варианте не важно что под капотом - функции простые, промисы, генераторы или асунк-авейты. Для машины всё-равно.

Oleg
09.03.2017
06:42:24
При этом с одной стороны код плоский как будто оно исполяется синхронно, с другой стороны используем всю мощь асинхронности без простоек

Олег
09.03.2017
06:53:20
rxjs?)

Oleg
09.03.2017
07:06:51
?

Google
Дмитрий
09.03.2017
07:12:07
Велосипед изобретаете))

С асинк генераторами есть какие-то заморочки
Асинк генераторы — это прямо сосем не про это)

Admin
ERROR: S client not available

Дмитрий
09.03.2017
07:16:32
В данном контексте все подразумевают просто обычные генераторы и yield асинхронных операций, по типу co и bluebird.coroutine

Oleg
09.03.2017
07:17:07
Велосипед изобретаете))
Виртуальную машину

andretshurotshka?❄️кде
09.03.2017
07:19:00
виртуальный велосипед

Дмитрий
09.03.2017
07:19:02
Хотя конечно async generators это крайне мощная штука)) Но в подавляющем большинстве типичных задач они как белаз в городе))

Виртуальную машину
Ну как тебе сказать))

Oleg
09.03.2017
07:19:38
?

Oleg
09.03.2017
07:20:35
Я просто сегодня думал как бы мне решить 100500 асинхронных запросов без 100500 слов асунк в начале

Эта штука бы решила

Oleg
09.03.2017
07:21:01
Не не не

Дмитрий
09.03.2017
07:21:07
Я просто сегодня думал как бы мне решить 100500 асинхронных запросов без 100500 слов асунк в начале
Тебе осталось додумать, что при задании новой операции в таком стеке тебе будет возвращаться не само значение, а о б е щ а н и е этого значения и будет вообще комильфо ?

Oleg
09.03.2017
07:21:08
Там они рассредоточены по коду

И в условиях ещё

Дмитрий
09.03.2017
07:22:31
Да да да. И для калбэка надо какой-нибудь метод ещё добавить, например then

Google
Oleg
09.03.2017
07:22:39
Зачем?

Олег
09.03.2017
07:22:40
ну точно Rx

Дмитрий
09.03.2017
07:22:57
Да тупо промисы в первом приближении

Такая штука может быть заменена на бабель плагин, который просто везде зафигачит await

Oleg
09.03.2017
07:23:04
Оно для решения же этого всего - ровно 0 колбеков... ну за исключением там итераторов аля forEach

Не, промисы это когда оно сразу исполняет

Сразу с ожиданием

Oleg
09.03.2017
07:23:49
Плагин да

Дмитрий
09.03.2017
07:23:49
Везде, в препроцессинге, у тебя в коде будет ноль авейтов

Oleg
09.03.2017
07:23:54
Но тогда это новый язык какой-то

Страница 731 из 2237