Anonymous
@xanf_ua хорошо. допустим все верно. тогда я возвращаю промис аксиоса - как мне решить вызов мутации
Anonymous
если резолвить промис я буду уровнем выше
Anonymous
даже не в сторе
Illya
sigh
Anonymous
эм.. эт как?
Illya
ITEM_DELETE({ commit }, item) { return api.items.delete({ url_params: { id: item.id } }) .then((ctx) => { commit(ITEM_DELETE, item.id); return ctx; }); },
Illya
всё
Igor
из экшена промис возвращать
ну вообще нормально делать асинхронных эншен, что не так?
Anonymous
this.ITEM_DELETE(this.item).then((ctx) => { //some logic });
Igor
рездели ответственность и реши , кто за что будет отвечать. Экшен за какоето действие и т.д.
Anonymous
мне нужно на окончательном моменте выполнения экшена что то делать
Anonymous
контекста для этого у меня нет в сторе
Anonymous
есть только в компоненте.
Illya
ну так dispatch возвращает промис
Igor
мне нужно на окончательном моменте выполнения экшена что то делать
если это тесно связанная логика, то в экшене, если это действие "после выполнения" может будь другим - то вынеси эту логику за пределы экшена и просто возвращай промис
Illya
then'ьте его
Anonymous
@Kraigo в том все и дело - что мне не хочется выносить логику которая должна быть в экшене за его пределы.
Anonymous
@xanf_ua return ctx вернет dispatch?
Igor
action({commit}) { return axios.then(() => { /* login */}); }
Igor
так у тебя будето выполнен промис, потом будет выполнена некая логика, и всё равно вернется ассинхронных промис, который можно будет отловить и сделать еще какуюто логкику после выполнения всего экшена
Anonymous
Ухты!
Anonymous
Спасибо!
Anonymous
*ушел пробовать*
Igor
Это же тот же вариант что ты сделал, только без обвёртки new Promise, как советует @xanf_ua
Anonymous
ну я не шарящий - нубло - новые нюансы открываю.
Igor
и на сколько мне не изменяет память, catch выполняется если какой то один из промисов во всей цепочке вызвал эксепшен, а что бы отловить Reject - нужно передать в then второй аргумент - function(err){}
Anonymous
@xanf_ua @Kraigo СПАСИБА!!!!!
Anonymous
этоже сколько кода мне теперь убирать... псц
Illya
catch ловит и rejection'ы
Igor
catch ловит и rejection'ы
catch ловит reject текущего промиса или всех предыдущих? Он также возвращает promise?
Illya
да, всех
Illya
да, возвращает
Igor
да, всех
вот, я это и имел ввиду. А второй аргумент ловит reject текущего промиса. Хотя ладно, не суть
Illya
нет
Illya
если у нас цепочка, то второй аргумент поймает реджект любого промиса выше по цепочке
Illya
(естественно еще не обработанный и не пойманный)
Anton
Приветствую, подскажите как правильно сделать глобальную функцию, хочу, например, сделать функцию для обращения к апи, чтобы внутри получать токен из стора, а не каждый раз в ручную подставлять ее, отправляя запрос через $http.get
Igor
(естественно еще не обработанный и не пойманный)
Тоесть если гдето поймался Reject дальше он ней поидёт?
Illya
конечно
Illya
если вы его поймали - дальше считается что вы его обработали и цепочка промисов пойдет по нормальному сценарию
Illya
это ж как try / catch
Igor
конечно
Promise.reject() .then(() => new Promise((res, rej) => { setTimeout(() => res(), 100); }) ) .catch( () => {console.log('catched')} ) .then( () => {console.log('resolved')}, () => {console.log('rejected')} );
Igor
это ж как try / catch
Сделал такой пример, давай его разберем
Illya
в кэтче поймался reject, мы его обработали
Illya
поэтому его промис успешно зарезолвился
Igor
в кэтче поймался reject, мы его обработали
и последний then будет обработан?
Illya
ну блин, запустите
Illya
получите
Illya
catched - resolved
Igor
ну блин, запустите
Запускал, сам написал же )
Igor
catched - resolved
а если catch поставить в конец
Illya
просто будет rejected и все
Igor
просто будет rejected и все
это потому что цепочка уже была обработана (then( второй аргумент)), а catch не ловит.
Illya
да
Igor
да
Спасибо, разобрался. Немного плавали знания с reject'ом
Александр
Подскажите wysiwyg в который кастомные кнопки можно впихать
Mixam19
tinyMCE глядел?
Mixam19
не уверен, что можно, но он один из самых продвинутых сейчас
Mixam19
если там такого нет, то искать далее проблематично будет
Alexey
Ребят, если вью грузит часть страницы аяксом (то есть это не spa), отображает карусель vue-slick, но при перегрузке карусели на другую, всё сбивается. Вёрстка летит, картинки вразнобой. Скрипт и стили же со страницы не пропали, заменились лиш вложенные элементы. Что может быть не так?
Alex
Грузите не часть страницы, а только данные. Частями страницы пусть Vue сам занимается, а не с сервера получает
Alexey
Я не так выразился. Всё так и есть. Вью дёргает с бэка json только и отображает вёрстку. Так вот если первый раз заходишь на страницу, всё нормально, но стоит на странице нажать на кнопку смены опций товара, подгужаются данные товара, в том числе и ссылки на картинки, рисуется карусель и она вся раскидана
Alexey
Alexander 🐯
Вангую что сейчас кто то напишет, что тебе нужно показать нам код
Alexey
Понимаю. Бывает погружаешься в проблему и вроде бы описываешь что-то, а со стороны кажется бредом. Но и показать код не получится, уж слишком всё запутанно. Попробую еще подолбаться
Жалгас
как проследить за рутом?
Жалгас
watch: { $root (val) { console.log('root', val) } } ничего не дает
Illya
появление новых свойств в $root
Жалгас
изменение свойства в руте
Illya
странная идея
Жалгас
$root.prop = 'abs'
Павел
всем привет! кто подскажет, может кто встречал, на сервак отправляю сокетом запрос, а ответ приходит два раза
Павел
что такое может быть?
Mixam19
в сокете нет вроде запрос/ответ
Mixam19
есть канал, в него летят месаджи
Павел
я подключился, сделал setinterval, далее делаю this.$socket.emit
Павел
на серваке ловлю это и кидаю ответом на клиент
Mixam19
на серваке точно один инстанс приложения это отлавливает?
Mixam19
не может быть ситуации, когда два инстанса это словили и одновременно заслали ответ?