Serhii
возможно у тя системный оверрайд
Хохлокiт
браузер?
все новые
Artur
https://www.jetbrains.com/help/idea/auto-completing-code.html Start typing. Press ⌃⇧Space or choose Code | Completion | SmartType from the main menu.
Artur
контрол-пробел смена языка
Artur
на винде так и есть
Artur
походу хоткей виндовый
Serhii
input onchange = onChange(this) onChange = function (input) input.val = input.length > 10 ? input.val.substr(0, 10) : input.val
Serhii
походу хоткей виндовый
точно не капслок кек
Gregory
Добрый день Такой вот вопрос "на интерес", все работает, но я не понимаю как они это реализовали
Gregory
Хохлокiт
https://jsfiddle.net/rxraLfw6/
Большое спасибо за фидл, только оказалось что проще всего указать padding-right для инпута :)
Serhii
цсс?
Serhii
Добрый день Такой вот вопрос "на интерес", все работает, но я не понимаю как они это реализовали
что именно не понятно? что такое async await или Promise ? Или почему работает chain ?
Nikita
на винде так и есть
я думал ты про мак )
Nikita
у меня на маке контрал+пробел - спотлайт
Gregory
не понятно, как mongoose понимает, что всё, запрос в БД готов, и его можно выполнять. ведь в конце ничего не стоит, типо "get()" или "exect()"
Хохлокiт
цсс?
ну да
Serhii
не понимаю как цсс с паддингом решил проблему максмальной длинны вводимой строки
Serhii
может они сделали задержку пару мс на проверке нету ли никакой следующей команды построения квери
Nikolay
Вообще странно, exec должен быть в конце.
Gregory
Вообще странно, exec должен быть в конце.
Да, и в документухе он написан. НО все работает и так. и при том он не пропускает параметры, все учитывает
Nikolay
Я думаю, это магия.
Gregory
Вот вот
Serhii
а какая нода у тя?
Serhii
скорее у тебя где то глубже по ссылке есть екзек
Gregory
8
Serhii
http://blog.revathskumar.com/2015/07/using-promises-with-mongoosejs.html
Serhii
я смотрю тут парень с калбеками не вызывает екзек так же
Gregory
При том, если не использовать async await приходится писать exec()
Serhii
а что у тебя за асинк
Serhii
нативный или что то кочал?
Serhii
если нода офигела, она async await превращает в Promise(response(response, reject),reject)
Serhii
https://blog.risingstack.com/mastering-async-await-in-nodejs/ тут в примерах так же есть монго с евейтом
Serhii
значит нода сама строит йолку, а монго хавает и исполняет как калбэки
Serhii
похоже на правду?
Gregory
Асинк родной Но это же по сути те же самые промисы но работает по другому
Serhii
у тебя может какой то async to generator есть?
Serhii
потому что в идеале async возвращает промис, а у тебя все await сгенерились в в цепочку калбэков вместо then
Gregory
Нет, чистая нода 8 версии
Serhii
https://chromium.googlesource.com/v8/v8.git/+/d08c0304c5779223d6c468373af4815ec3ccdb84/src/js/harmony-async-await.js
Serhii
выглядит как дерево
Serhii
тем более если return %_Call(AsyncFunctionNext, вызывает сразу твой await в async, вот почему он сразу и тригерится
Gregory
То есть по сути async await это не тоже самое, что promise?
Gregory
еще одна вещь, которая меня жутко удивляет в async await почему он перехватывает ошибки через try cache?
Gregory
Gregory
Эта функция, которая через секунду выкидывает исключение
Gregory
Serhii
Async функция это промис
Gregory
ну так то да, но вот мой пример
Serhii
Но тебя интересует именно await
Gregory
да, суть в том, что ошибка здесь не должна перехватываться
Serhii
И что он формирует дерево калбеков через генератор
Gregory
так как она возникает через 1 секунду НО он перехватывает
Serhii
Ну все что в блоке кеч вызывается вторым параметром исполнения промиса
Gregory
Serhii
Суть в отсутствии .then и формировании new Query(success, reject)
Gregory
Если использовать промисы, то ошибка остается не перехваченой
Serhii
Потому что есть разница с этим в .then(success, error).catch(error)
Serhii
Второй ловит только родительский режект а первый - и внутренний
Serhii
Как то так
Gregory
Потому что есть разница с этим в .then(success, error).catch(error)
немного не понял... Но что хотел сказать, ошибка вываливается в консоль и никто, ни then catch ни try catch ее не поймали. НО используя await она ловится отлично И если, как я 100 раз читал, await это обертка над promice, тогда почему они работают по разному?
Serhii
Какая разница между Promise(success, reject) и Promise().then(success).catch(reject) ?
Serhii
Попробуй повалить ошибок в функциях success
Serhii
Но не в самом промисе
Serhii
И увидишь
Gregory
ты ее в catch уже перехватил же
Неа, она не перехватилась, ни один из двух ее не поймал
Maksim
скинь код в песочнице
Gregory
скинь код в песочнице
а есть песочница для node?
Gregory
лан, сейчас в обычной скину.
Maksim
а какая разница? ты же нодовое api не юзаешь
Serhii
Вся магия кроется в разнице
Serhii
Какая разница между Promise(success, reject) и Promise().then(success).catch(reject) ?
Serhii
Потому что catch() метод Promise и не отловит throw в самом then, только throw в Promise()
Serhii
А все await это уже then
Gregory
https://jsfiddle.net/bvskkxjw/1/