Недавно у меня возникала необходимость показывать прелоадер каждый раз, когда в проекте отправляется запрос на удаленный сервер. Так как мы используем Babel для конвертации кода из ES6 в ES5, то fetch
превращается в XMLHttpRequest
. Это значит, что можно легко переписать два метода и задача будет решена.
var _oldSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function () {
var _oldReadyStateChange = this.onreadystatechange;
// Ваш код вначале Ajax-запроса
_oldSend.apply(this, arguments);
this.onreadystatechange = function () {
if (this.readyState === 4) {
// Ваш код, когда Ajax-запрос завершен
}
if (typeof _oldReadyStateChange === 'function') {
_oldReadyStateChange.apply(this, arguments);
}
};
};
Для того, чтобы показать индикатор закгрузки, я переписал метод send
, сохранив предварительно старую функцию в переменную _oldSend
. Ну а onreadystatechange
сообщает нам когда запрос завершен.
Этот способ отлично подойдет, если вы используете jQuery
.
В первый день показа 16 декабря мне удалось посмотреть новый седьмой эпизод космической саги «Звездные войны». Я не то, чтобы фанат, но очень люблю серию и предварительно пересмотрел 3 эпизода 70-80 годов. Последние снятые и первые по хронологии фильмы начала 2000-х не пересматривал, так как делал это около года назад с женой.
В интернете полно хвалебных од фильму, и может показаться, что он великолепен, но лично мне не понравилось то, что я увидел.
Дальше иногда будут спойлеры, так что не советую читать тем, кто еще не смотрел.
Видеозапись всех докладов с Girls Not Bombs #5. Мероприятие состоялось в субботу в минском коворкинге Imaguru. Список докладов:
Со временем хочется использовать npm
без надоедливой команды sudo
. Но большинство руководств в интернете предлагает удалить node.js и все поставить заново в какие-то странные и непонятные директории.
Я здесь, чтобы помочь...
Все куда проще. Вот эта консольная команда поможет вам:
sudo chown -R $(whoami) ~/.npm && sudo chown -R $(whoami) /usr/local/lib/node_modules