Andrew
[test1, test2]
Andrey
Оке
Alex
Можно просто test.forEach(...)
Уже реализовал, ещ' раз спасибо !)
Denis
Denis
Denis
Denis
Nikita
Была у кого практика реализации рантайм транспалинга на клиенте? Я про зачем получать клиенту es5 код, когда его браузер поддерживает es6+, зачем включать в билд полифилы которые ему не нужны
Anonymous
Была у кого практика реализации рантайм транспалинга на клиенте? Я про зачем получать клиенту es5 код, когда его браузер поддерживает es6+, зачем включать в билд полифилы которые ему не нужны
Для полифилов есть polyfill.io который детектит юзер агента и выкачивает только необхобимый минимум, но на самом деле такое себе, так как бандл может и не использовать ни один из заполифиленных методов, а они все равно закачаются
Nikita
Либо можно делать множество продакшен сборок, для разных клиентов затем проверять юсер агент и выдавать нужную сборку
Nikita
как они закачаются если они не нужны?
Anonymous
babel умеет транспайлить на лету, но это жесть, знаешь почему? Клиенту придется закачивать еще и бабель (пусть и не весь, но он точно будет значительнее весить чем твой код), а потом еще тратить время на транспиляцию)
Nikita
тут да, а 2 вариант со множеством сборок?
Anonymous
как они закачаются если они не нужны?
Смотри, допустим твоему браузеру нужно заполифилить только Map Set и Promise, но первые два ты не используешь в своем коде, но полифил.io не знает этого, он не умеет анализировать твой минифицированный код и все равно загрузит для них полифиллы
Anonymous
Либо можно делать множество продакшен сборок, для разных клиентов затем проверять юсер агент и выдавать нужную сборку
И как ты себе предствляешь весь этот геморрой? Это существенно усложнит тебе воркфлоу и время сборки для продакшена и все равно не покроет всех кейсов
Nikita
тогда нужно просто сообщать полифил ио что ты вообще испольузешь в своем коде
Nikita
да я представляю насколько сложно настроить rollup/webpack конфиги для таких сборок, но думаю веб должен к этому прийти
Nikita
думал мб кто то уже пробовал
Nikita
пока видел только сборки для module, nomodule
Валентин
Здравствуйте. Кто-нибудь работал с гугл мапс? Не могу нагуглить как удалять переломы у линий. http://prntscr.com/mjdiix Ну чтобы эти узлы исчезали и линия становилась абсолютно ровной. Возможно ли это?
Nikita
подскажите, как в js заблочить исполнение? Сейчас сначала отрабатывает последний консоль лог, затем тот что в then мне нужно наоборот
Dmitry
Или Обернуть в функцию и await
Nikita
в методе then задается this.playerSize мне нужно чтобы отработал консоль лог 1 который в этом методе затем отработал 2. На деле отрабатывает последний консоль лог === undefiend затем в методе then
Nikita
там дальше еще много кода я не могу все в промисы обернуть
Максим
пока видел только сборки для module, nomodule
браузеры понимающие модули умеют в es6. Для них ничего не нужно полифилить. Остальные пусть страдают. И кто эти остальные? IE? Edge не обновляется автоматически? Все остальные вечнозеленые.
Максим
Nikita
ладно допустим [...arr,...arr2]
Foma
@nikitapilgrim А с промисами разобрадся?
Nikita
@nikitapilgrim А с промисами разобрадся?
нет ), я в js не совсем шарю
Nikita
там вроде хак есть
Nikita
для какой-то версии
Максим
А в сафари всё работает?
Сафари у меня нет, поэтому я не знаю. 😂
Максим
Но это не полифилится, а транспайлится. В таком случае подход module nomodule, не работает.
Anonymous
#вакансия #frontend #Leadfrontend#JavaScript #fulltime 1) Middle/Senior Front-end Developer Компания: Siemens Город: Москва (Новокузнецкая / Третьяковская) Формат работы: офис, полная занятость ЗП: 150К+ Net Siemens Digitalization: софтверное подразделение компании, занимающееся разработкой IIoT и решения автоматизации для производственных и ресурсных компаний. Проект: разработка веб-сервисов на базе облачной IIoT платформы и т.д. Задачи: минимум легаси на Angular1, который требует переноса на новый стек (в процессе обсуждения и тестирования новейших инструментов, скорее всего будет свежий Angular, но готовы обсудить с новым членом команды) Требования: практический опыт разработки React/ Angular2+/ Vue Английский – Intermediate+ (разговорный) 2) Lead Front-end Developer Компания: Accenture Город: Москва (офис на Павелецкой) Формат работы: офис, полная занятость ЗП: 250К+ Net Проект: разработка банковского продукта (фронт и бэк офис). Основные задачи: управление командой из 6 Frontend разработчиков и принятие архитектурных решений. Стек: React, Redux Flow, Redux Forms, Socket.io. Солидная компенсация (оклад + всевозможные бонусы и соц.пакет, ежегодный perfomance review и т.д.). О подробностях в ЛС.
Anonymous
С промисами async и await уже не нужны? Или в каких-то случаях мы их всё равно используем?
Denis
async - это и есть промис
Anonymous
async - это и есть промис
Промисы - это более удобные async
Denis
Так нельзя сказать однозначно
Roman
Промисы - это более удобные async
async это более удобные промисы
Anonymous
Лол
Anonymous
В промисах catch срабатывает только при вброс ошибки или при любом reject?
Anonymous
Я думаю, что только при вбросе ошибки
Роман
привет всем. порекомендуйте легкий и кросбраузерный плагин по AutoComplete c поддержкой поиска данных с удаленного места. Сейчас пока мой выбор остановился на двух : Это от twitter http://twitter.github.io/typeahead.js/examples/#remote Это от jqueryui https://jqueryui.com/autocomplete/#remote
Denis
async не может покрыть все кейсы. Промис - более универсальный
Artemy
async не может покрыть все кейсы. Промис - более универсальный
Что может покрыть промис, чего не покроет асинк-функция?
Denis
Возврат значения из вложенного скопа асинк не сможет сделать
Evgeniy 🍀
Возврат значения из вложенного скопа асинк не сможет сделать
А можно пример? Вообще, асинк это не замена промисам, а средство удобной работы с ними
Denis
А можно пример? Вообще, асинк это не замена промисам, а средство удобной работы с ними
Ну верни из асинхронной функции по таймауту в 1 секунду цифру 1
Maksim
на генераторах можно
Denis
На колбеке тоже
Evgeniy 🍀
Ну верни из асинхронной функции по таймауту в 1 секунду цифру 1
А что не так-то? (async () => {const theOne = await new Promise(resolve => setTimeout(() => resolve(1), 1000)); console.log(theOne)})()
Evgeniy 🍀
на генераторах можно
да как угодно можно, на самом деле. Но генераторы для такой задачи приплетать - весьма оверхэд
Evgeniy 🍀
Ну так это у тебя промис
А бывают асинки без промисов?
Evgeniy 🍀
await как бы и ждет резолва промиса
Denis
async getRate () { const result = await axios.get() return result }
Evgeniy 🍀
async getRate () { const result = await axios.get() return result }
ты наверное удивишься, но axios.get() возвращает промис
Nikita
Ну так это у тебя промис
а async\await не промисы? а что это?
Denis
getRate () { return new Promise((resolve) => { axios.get().then((result) => { resolve(result) }) }) }
Maksim
а async\await не промисы? а что это?
первоначальный вопрос подразумевал как из асинхронной функции наружу вернуть значение. в классическом js никак с приходом генераторов и асинков это возможно (ну типа возможно, по большому счету сахар)
Nikita
ну это пока еще мамонты были живы
Maksim
для этого, в девнии времена, люди использовали колбеки
да, но наружу ты им значение не вернешь, внешний скоуп никогда о нем не узнает
Nikita
че бы вдруг?
Nikita
я смотрю про замыкания в js и правда мало кто слышал
Maksim
че бы вдруг?
ну а как? пример можно?
Evgeniy 🍀
если внешний скоуп - тоже асинхронная функция, то никаких проблем вообще нет
Maksim
я смотрю про замыкания в js и правда мало кто слышал
в замыканиях ты внешний скоуп во внутренний просовываешь, а не наоборот