All streams
Search
Write a publication
Pull to refresh
34
0
Сергей Мелюков @smelukov

Инженер

Send message
Да, извиняюсь. Перефразирую: Proxy входит в утвержденный стандарт ES6. Но сам ES6, судя по http://kangax.github.io/compat-table/es6/, полностью нигде не поддерживается
Даже последний хром(не Canary) ничего не знает про Proxy
Только в ES6.
На данный момент, ES6 поддерживается ох как не везде )
Согласен. Но, опять же, пока что это не входит в утвержденный стандарт ;)
Ну так нет ничего страшного в инъекциях. Инжектор в Angular достаточно умен, чтобы не делать лишних действий.
Дело конечно ваше: можете использовать и обычный setTimeout с вызовом $digest внутри него.
В статье я просто рассказал про устоявшийся в Angular паттерн c $timeout
запускается обычный таймаут вместо $timeout и потом внутри scope.$digest

и чем это тогда будет отличаться от вызова $timeout? :)
lega
Используется событие «input» (keyup может применяться для поддержки IE6, хотя ангуляр с ним не дружит)

В целом — да, согласен.

Тут используется setTimeout, он уже и вызывает код когда другой код не выполняется (один поток же)

В итоге — да. Но судя по исходникам, последовательность получается такая:

  • ждет, пока закончится текущий потом выполнения ($browser.defer — это суть setTimeout)
  • выполняет наш код
  • вызывает $rootScope.$apply()

Опять же судя по исходникам, $apply(), помимо прочего, пытается запустить $digest

Скорее между ViewModel и View, но все равно это частный случай, $digest-цикл — это процесс поиска изменений (dirty-checking) данных и вызов подписчиков (обработчиков). А что они будут синхронизировать (или не будут) это уже дело десятое.

всё верно ;)
Счел Ваши мысли вполне логичными и, так как allSettled не является полифиллом и не расширяет прототип, то сделал из него полноценный модуль без внесения изменений в нативные конструкторы ;)
Хотя, в случае с полифилами, которые расширяют встроенный функционал, все равно придется расширять прототип.
К самой статье-то есть комменты? :)
Ох, ребята… Да о чем вы все вообще? Это интерпретируемый язык, что изначально говорит о том, что каждый движок интерпретирует его по своему. А если учесть, что в любой последующей версии любого движка могут прикрутить любую оптимизацию, которая кстати может убить ту оптимизацию, которую проделал разработчик, то вся эта оптимизация со стороны разработчика становится погоней за миражом.
Пишите код, получайте от этого удовольствие и не забывайте о производительност и эффективности своих алгоритмов(большое «О»). Но заниматься оптимизацией под лупой в интерпретируемом языке — неблагодарное дело, по причине, которую я описалвыше, кроме совсем явных мест.
Другое дело, если вы точно знаете под какой движок пишите и излазили его исходники вдоль и поперек.
Так же согласен с предыдущим оратором. Посмотрите на код современных не ES6 библиотек. Где там читаемость? Там сплошная оптимизация.
Вопрос читаемочти кода из разряда холивара :)
За исключением явного нагромождения кода.
Зная, что concat может принимать как массив, так и обычные значения, превращая их а плоский массив — такая, запись становится очень даже понятной
Я ниже аргументировал
И да, забыл упомянуть: смысл именно такого concat'а в том, чтобы можно было передавать обычные значения и значения в миссиве в перемешку межлу собой и в последствии получить плоский массив
Если трансформировать этот код через babel, который поддерживает практически все последние нововведения в язык, то всё будет работать именно так, как я описал ;)
Да само-собой, можно как угодно, но притензия у комментатора была в том, что я не использую spread. Но я не использую здесь es6 ;)
Да само-собой, можно как угодно, но притензия у комментатора была в том, что я не использую spread(которого нет в es5)
Es6 умеет определять имя функции в var someName = function expression.
Es5 в данном случае будет содержать имя переменной, которой была присвоена функция
Да, возможно стоит обдумать этот момент и не выносить allSettled в конструктор, т.к. в данном случае это не полифил, которым расширяется прототип

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity