Обновить
1
Владимир Антонов@Holix

Пользователь

Отправить сообщение

Мне одному начинает казаться, что из JavaScript пытаются обратно сделать Java?

Да, жаль. Хотя бы отмена настолько нужна, что мне пришлось самому написать свою версию Promise с хорошей отменой (nano-promise). Суть в том, что стандартный промис лишь наблюдатель за асинхронной операцией. Промис не имеет "рычагов" управления для остановки операции. В nano-promise при создании "Обещания" можно вернуть конструктору объект с методом cancel:


function get(url) {
  return new Promise(function (resolve, reject) {
    var req = new XMLHttpRequest();
    req.open('GET', url);

    req.onload = function() {
      if (req.status == 200)
          resolve(req.response); /* ПРОМИС ВЫПОЛНЕН */
      else
          reject(Error(req.statusText)); /* ПРОМИС ОТКЛОНЁН */
    };

    req.onerror = function() { reject(Error("Network Error")); };
    req.send();

    // Самое главное
    return { cancel: function () {
       req.abort();
    }};
  });

var ps = get('/index.html');
ps.cancel(); // отменяем

Сама отмена не что иное, как вызов reject(Promise.CANCEL_REASON). Ко всему прочему, если есть цепочка из промисов важно корректно отменить всю цепочку с возможными ответвлениями. Т.е. отмена последнего промиса в цепочке порождает отмену до самого начала(при необходимости), а отмена первого спускает отмену (как reject) до самого конца.

Очень интересная и познавательная статья, IMHO.

Недавно познакомился с HTC Vive. Сразу удивили огромные пиксели про существование которых мои глаза уже давно забыли. Из-за зернистости графики складывалось впечатление, что я вернулся лет на 20 назад. Т.е. уровень требований к ней сразу понизился до PS2. Но, как правильно заметил автор статьи, наличие контроллеров полностью отвлекло от зернистости изображения. Целиться руками, а не джойстиком/мышкой/планшетом/клавиатурой очень приятно и практично. Т.е. мир именно поэтому стал таким интерактивным. Без контроллеров очки, мне кажется, скорее тянут на «стерео» монитор, где к миру нельзя прикоснуться, а лишь смотреть на него.

Спасибо за статью

Т.е. реальность не столь радужна. Чтож, маркетинг.

Да, я тоже за один общий таймер. А скорость объектов не дискретная.

Отличный настрой, отличный сайт, бодрая статья!

Абсолютно согласен. Являясь любителем поизобретать велосипеды как-то задумал написать парсер CSS с целью дальнейшей оптимизации. И столкнулся как раз тем же. Жуткий синтаксический бардак. Токенизатор должен слегка разбираться в синтаксисе, чтоб работать однозначно. Очень много ненужного. Такое впечатление, что это плод коллективного творчества. К имеющимся конструкциям прикручивают и прикручивают уродства. Т.е. изначальная идея была проста и практична, но то-что пытаются из CSS выжать сейчас — это даже эпичнее, чем апгрейд C в C++.

Супер! Я для собственных модулей подобные оптимизации проделываю. Т.е. this помещаю в self, лишь для того, чтобы uglifyjs мог эту переменную потом утоптать. При таком подходе код не теряет читаемость, но хорошо жмется. Общие функции забрасываю в области замыкания для того-же.

Да, тоже попытался, чтоб свой и без зависимостей сделать. Но из-за синтаксического бардака не стал. Мне хватило самописного токенизатора/детокенизатора с выбрасыванием комментариев/пробелов и оптимизацией единиц измерения и цветов. Серьезный парсер так и остался в планах.

Ну всё, довод про скорость меня убедил. Завтра же попробую это вписать в свою систему сборки.

Интересно, это обновление решает Y2K проблему?
Если вы одинаково владеете и мышкой и командной строкой, то последняя выигрывает. А для людей с ограничеными возножностями выбор, очевидно, может быть другим.
Очень интересно. Очень давно (лет 20 назад) сталкивался с этими «завитушками» и даже пытался как-то их воспроизвести в CorelDraw, но не справился. :)

По поводу проецирования на сложные контуры. Мне кажется, что декартовы координаты можно спроецировать на плавную кривую, где вектор нормали будет у нас за ось Y, а смещение вдоль кривой X. Тогда можно нарисовать почти произвольные формы.
+1 Если не можешь найти ошибку, значит ошибка и в тебе. :) Капитанская статья. И как-то поздно товарищ осознал, что с наскока многие проблемы не решаются. :)
Да! Slack лишь подобие IRC.
Глядя на видео становится понятно, что время обновления несколько секунд. Т.е. такое годно только для статических картинок типа рекламных плакатов и схем метро.
Во всех, или почти во всех, примерах проблемы из-за неудачно выбранного в окнах разделителе файловых путей или ключей реестра. Может попробуете использовать более родной разделитель — '/'?
А не пробовали использовать vm.runInNewContext() вместо with? Интересно, прокси будет продолжать работать?
Давным давно, в стародавние времена, когда ещё не придумали http:// или ftp://, в адресной строке люди просто писали: www.site.com или ftp.site.com…
А на самом деле, это необязательное доменное имя третьего уровня для обозначения домена с сервисом WWW(World Wide Web, Всемирной Паутины или просто веба). Такие имена (ftp,ntp...) нужны чтобы можно было развести разные сервисы на разные адреса, но в пределах одного значимого домена.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность