Denisio
это который линукс придумал типа?
Не придумал а разработал иппортозамещенную операционную систему с нуля
Alex
еще был дейятель,который срубил гранд на дофига денег за антивирус, который нричего не умеет
Ler
да не
Denis
mdn ещё нормально сверстан
Nick
Друзья, всем дратути. Подскажите пожалуйста, есть ли какой то способ проверить, работает ли мой callback на ajax запросы. В приложении необходимо навесить коллбек на все исходящие аяксы. Я создаю callback (патчу XMLHttpRequest.prototype.send), навешиваю его, после чего вызываю тестовый fetch и жду, что callback вызовется (при его выполнении сеттится переменная isCallbackWork=true). Проблема в том, что после вызова пробного фетча (выполнения которого я дожидаюсь await’ом) проходит какое-то время перед тем, как переменная засеттится, т.е. она будет false еще какое-то время (пару миллисекунд) Промисы тут не помогут, потому что callback может либо прийти либо нет (оба варианта меня устраивают, но нужно это как-то проверить) Я добавил sleep 10 миллисекунд, но что-то мне подсказывает, что можно этого избежать Псевдокод: async function enableCallback() { applyCallback(); // тут происходит навешивание await ajaxCallbackCheck(); // тут вызывается тестовый fetch await sleep(10); // Без этой штуки в следующей строке isCallbackWork будет false if (isCallbackWork) { console.log(Done); } }
Nick
Убил туеву хучу времени, решения не нашел
Nick
Мб есть какой-нибудь другой способ проверки, не асинхронный
🦜
взять axios и написать функцию интерсептор
Nick
взять axios и написать функцию интерсептор
Они будут работать только для axios’а или для всего другого тоже? (XMLHttpRequest, Fetch и т.д.)
Denis
export default (http, /* store, */router) => { // https://github.com/mzabriskie/axios#interceptors http.interceptors.response.use( (response) => response, /** * This is a central point to handle all * error messages generated by HTTP * requests */ (error) => { const { response } = error /** * If token is either expired, not provided or invalid * then redirect to login. On server side the error * messages can be changed on app/Providers/EventServiceProvider.php */ // eslint-disable-next-line no-magic-numbers if ([401, 400].indexOf(response.status) > -1) { router.push({ name: 'auth.singin' }) } /** * Error messages are sent in arrays */ // if (isArray(response.data)) { // store.dispatch('setMessage', { type: 'error', message: response.data.messages }) /** * Laravel generated validation errors are * sent in an object */ // } else { // store.dispatch('setMessage', { type: 'validation', message: response.data }) // } // store.dispatch('setFetching', { fetching: false }) return Promise.reject(error) } ) }
Konstantin
#вакансия Город и адрес офиса: Санкт-Петербург/Москва Формат работы: удаленка Занятость: проектная Зарплатная вилка: от 400 до 900 в час Описание вакансии: VueJS, TypeScript Всем привет, мы занимаемся интеграцией айти продуктов в компании, но иногда заказчика не полностью устраивает продукт и он хочет дополнительный функционал. Сейчас нам в команду требуется разработчики фронтенда. По проекту, мы делаем корпоративное приложение для сотрудников одной компании. Сейчас у нас уже реализован некоторый функционал, на данном этапе работаем над магазином приложений, аналог гугл плея. Название компании: Телекоминвест Контакты: @malyshevko malyshevko@isurance.ru
Nick
axios это обертка на XHR
Всё так. Тут вот в чем трабла. У меня Shopify приложение. И это значит что на магазине любое другое приложение можер просто переписать XHR. А мне нужно понять, все окей или что-то меня переопределило
Alex
народ, кто нибудь знает канал дизайнеров в телеге?
Alex
печаль, хотел за дизайн пообщаться😁
Nick
Друзья, всем дратути. Подскажите пожалуйста, есть ли какой то способ проверить, работает ли мой callback на ajax запросы. В приложении необходимо навесить коллбек на все исходящие аяксы. Я создаю callback (патчу XMLHttpRequest.prototype.send), навешиваю его, после чего вызываю тестовый fetch и жду, что callback вызовется (при его выполнении сеттится переменная isCallbackWork=true). Проблема в том, что после вызова пробного фетча (выполнения которого я дожидаюсь await’ом) проходит какое-то время перед тем, как переменная засеттится, т.е. она будет false еще какое-то время (пару миллисекунд) Промисы тут не помогут, потому что callback может либо прийти либо нет (оба варианта меня устраивают, но нужно это как-то проверить) Я добавил sleep 10 миллисекунд, но что-то мне подсказывает, что можно этого избежать Псевдокод: async function enableCallback() { applyCallback(); // тут происходит навешивание await ajaxCallbackCheck(); // тут вызывается тестовый fetch await sleep(10); // Без этой штуки в следующей строке isCallbackWork будет false if (isCallbackWork) { console.log(Done); } }
Короче никто не в курсе, как это делается. Жаль, но всё равно всем спасибо
Nick
@LazyNick вот же
Так эта штука навешивает коллбэк, а не проверяет его, насколько я понял
Nick
Вернее не так, она будет работать, если коллбэк вызовется. А он может не вызваться
Denis
Promise .then() .catch() .finally()
Nick
Представь, что никто не вызвал getRates, потому что его переопределили. Что делать в таком случае?
Denis
То что его переопределили не означает что его не вызовут.
Denis
Что значит переопределили?
Denis
Тебя взломали?
Nick
Тебя взломали?
Это Shopify магазин. Там куча плагинов, каждый из которых делает что хочет с чем хочет Я сделаю функцию hello() {return 1}, а другой плагин перепишет ее на hello() {return 2}
Alex
как заставить себя доделать верстку страницы?)
Alex
😁
Alex
вообще ломает делать ее
Никита
вообще ломает делать ее
Избивай себя и заставляй делать
Alex
надо розги будет купить))
Maksim
как заставить себя доделать верстку страницы?)
можно подождать когда закончится еда, там проще
Ler
вот есть ли хоть какая-то логика в clear: both; и overflow: hidden для флоатов ? Не связываются эти вещи у меня в голове чот
Alex
действительно))
Alex
я никогда не использовал clear: both
Alex
бутстрап давно на него перешел
Ler
да я хочу понять эти флоаты
Alex
чего понимать их?)
Ler
я из-за них бросил вообще изучение фронт энд 4 года назад
Ler
тупо верстал наугад и ставил эти clear both
Maksim
я из-за них бросил вообще изучение фронт энд 4 года назад
возможно если непонимание флоатов заставило бросить фронтэнд то это к лучшему?
Alex
overflow: hidden вообще не стоит много тыкать, толкуо от этого не будет особо
Ler
Ler
как оно распознает высоту ?)
Ler
почему оно ее распознает
Alex
там ведь не указана конкретная высота блока, даже падинга нет, значит высота 0, если вынутри нет элементов
Alex
если ты спрашиваешь про картинку
Владимир
да я хочу понять эти флоаты
https://www.w3schools.com/css/css_float.asp#midcontentadcontainer
Ler
https://jsbin.com/vufakipaci/1/edit?css,output
Ler
ну вот к page добавляем overflow: hidden и все в порядке
Ler
убираем и все плохо
Ler
что за магия ?)
Бислан
Почитай про Block Formatting Context https://www.smashingmagazine.com/2017/12/understanding-css-layout-block-formatting-context/
Ler
Хорошо, спасибо )
Alex
clear: both; - сбрасыивает свойства родителя, если кратко
Alex
overflow: hidden скрывает то, что за пределами родителя
Rauf
всем привет может кто нибудь знает плагины типо isotope для реакта ? :(
Rauf
😞😞😞
Бислан
Хорошо, спасибо )
Или вот еще ответ на stackoverflow https://stackoverflow.com/questions/6196725/how-does-the-css-block-formatting-context-work
Rauf
что это вообще за плагин и для чего?*
узри мощь https://codepen.io/aFarkas/pen/VYGvde
Rauf
что он делает?
🤦🏼‍♂️
Dima
Всем приятного Аппетита)) Вопрос на что может ругаться Promise.all вот так > 'Argument of Promise.all is not iterable' И влияет ли это на последующий .this после Promise.all([ тратата]).this(()=>{вот сдесь долженн перебираться объект через консоль перебирается а програмно нет.(( })
Pavel
покажи кусок кода
Dima
покажи кусок кода
Promise.all( queryArreys.map(oneQuery => { return http.get(oneQuery) .then(res => { categorysInBase.forEach((nameOfCategory) => { temporary[nameOfCategory] = []; res.articles.forEach((news) => { news.id = SHA256(Date.now() + news.title); temporary[nameOfCategory].push(news); }); }); }) }) .reduce((sequence, chapterPromise) => {return sequence.then(() => {return chapterPromise;})}), ).then(()=>{ for(categorysInBase in temporary){ temporary[categorysInBase].forEach(news=>{ base.saveDBNews(categorysInBase,news); console.log(categorysInBase,'одна новость добавленна','\n'); }); console.log(categorysInBase,'Полностью завершина','\n'); }; }) .catch(err => console.log(err.message));