Oleh
Я новичок в react, перешёл с angular. В angular есть такая штука как сервисы, но react, я так понимаю, используется с redux. В redux есть reducer'ы и action creator'и. Но они не отвечают моим требованиям. Например мне надо загрузить данные о пользователе, то первый раз я загружаю его с сервера и сохраняю в store. Что мне делать, если я хочу опять его данные, но не хочу загружать с сервера опять. Что-то типа:
if(store.getState().user)
не подходит. Надо что-то как сервисы:
userService.getUser()
А загружать данные о пользователе или использовать сохраненные уже должен решать сам сервис. Есть ли какой-то способ сделать такое?
🌀 through a haze 🌀
᠌
᠌
твои оправдания?
Павел
Ну, update выполнилось в then. В чем проблема?
🌀 through a haze 🌀
"Message sent!" и "Sticker sent!" вызываются в this.update? тогда все работает как надо
᠌
᠌
᠌
они вызываются в другом методе
᠌
который вызван внутри this.update
🌀 through a haze 🌀
т.е. который вызывается в this.update ?
᠌
᠌
🌀 through a haze 🌀
и я про то, что try...catch здесь абсолютно не нужен, он не поймает асинхронный вызов
он сможет только отловить ошибку в вызове rp, до начала асинхронного кода
🌀 through a haze 🌀
покажи то, что у тебя сейчас
Павел
Ты сказал, что тебе нужно, чтобы update выполнялся только после того как выполнится try. Для твоего говнокода единственное место, где можно отловить успешное окончание try - это конец then.
Ты поместил туда update, по выводу в консоль выходит, что все работает верно.
Какие вопросы?
᠌
᠌
беззубов какой-то агрессивный скрипткидди, что он тут делает?
🌀 through a haze 🌀
а this.update у тебя случайно не асинхронный?
🌀 through a haze 🌀
то, что внутри него
᠌
this.update асинхронный метод и метод, который внутри него вызвал тоже асинхронный
᠌
в этом проблема?
🌀 through a haze 🌀
ну дааа
᠌
я добавлял перед вызовом rp await
᠌
это не должно было его останавливать?
Ramiz
Здравствуйте. кто нибудь работал с PDF?
есть PDF с 79 сраницами, и там есть поля.
надо чтобы клиент заполнял форму на сайте, а потом с данными из этих форм заполнять PDF и сохранить с новым именем
🌀 through a haze 🌀
у тебя выводится "До this.update"
потом выполняется this.update, который запускает асинхронный код
потом выводится в консоль "После this.update"
а потом заканчивает выполнение асинхронный код из this.update
Anonymous
У тебя try выполняется синхроно. А код в Promise.then асинхроно. Соотвественно код внутри try еще не выполнится a finally уже отработает.
᠌
try я уже убрал
᠌
так и есть
🌀 through a haze 🌀
тебе надо бы чтобы this.update возвращал промис, тогда к нему ты тоже сможешь прицепить then, но мне кажется что тут надо что-то менять
я же не знаю что именно ты хочешь получить и какая у тебя там будет цепочка
᠌
🌀 through a haze 🌀
у меня мало опыта с async await, но разве надо его совмещать с промисами?
᠌
я писал код по коду другого кодера и там он использовал await у промиса
🌀 through a haze 🌀
ну, в общем-то, с твоей проблемой мы разобрались - код выполняется
теперь надо только расставить все в нужной последовательности
Павел
Это вообще должно быть цепочкой промисов и update для этого тоже должен его возвращать, тогда всё по порядку будет
᠌
🌀 through a haze 🌀
ну тогда ты вообще не знал куда this.update вставлять, а теперь мы разобрались, что у тебя кругом асинхронные вызовы и then на самом деле работает так, как надо
🌀 through a haze 🌀
просто надо выстроить все в цепочку промисов
᠌
понял, async и await вообще во всех методах убирать?
᠌
там их 3 всего
᠌
update, getHistory и sendMessage
🌀 through a haze 🌀
если ты не знаешь, как правильно их использовать и как они работают, то проще будет заменить их на промисы
🌀 through a haze 🌀
@undefinedusername у тебя должно получиться что-то вроде этого:
rp(getHistory)
.then(response => {
...
return this.update();
...
})
.then(response => {
...
return this.sendMessage();
...
})
.then(response => {
...
})
.catch();
᠌
а ну вот только что ее и сделал
᠌
цепочка промисов
᠌
ща
᠌
Анатолий
> pro.js
> осваиваем промисы
᠌
конфа про js, осваиваем тему по жс
᠌
лол
᠌
будто бы что-то противоречивое
Dika
᠌
нигде этого не написано
᠌
в списке конференций телеграма в гугле написано, что это просто конфа посвященная помощи по жс
Павел
Весомо
᠌
узнав, что это для профи, я удивлен, почему здесь сидят такие как павел, например
Павел
Да всем насрать
᠌
На то, что ты скрипт кидди и ошибся конфой?
᠌
да, на тебя да
Nikita
Nikita
если у тебя новый браузер зачем тебе тащить ненужные префиксы, для левых браузеров темболее?
Oleksandr
Анатолий
Хамить тут можно только сове :)
Шемиль
Может забанем его?
Anonymous
Round 2
Anonymous
Fight
Eugene
еее
Шемиль
Жаль я не админ
Eugene
интернет воинов завезли
Eugene
возвращайтесь на двач
Павел
Этого клоуна уже банили.
Или в другом чате, или в этом и он просто под другим акком зашёл