
Roman
08.09.2018
16:29:02
дальше не смотрел
уже параша

Alexey
08.09.2018
16:29:12

Alex
08.09.2018
16:29:15
Это все не будет работать в принципе

Google

Alex
08.09.2018
16:29:22
Потому что ничего функция не возвращает

Alexey
08.09.2018
16:29:46

Alex
08.09.2018
16:29:55
Добавит return

Alexey
08.09.2018
16:30:11

Alex
08.09.2018
16:30:15
Return Promise.all...

Alexey
08.09.2018
16:30:48
я ее вызываю прость await

Alex
08.09.2018
16:31:12
И это не работает

Alexey
08.09.2018
16:31:13
а результат мне ее во вне не нужен

Alex
08.09.2018
16:31:32
Точнее это не правильно
Await не нужен если функция не вернёт промис твой
Разберись что такое async await
Серьезно

Google

Alex
08.09.2018
16:32:11
Это всего лишь сахар

Alexey
08.09.2018
16:32:13
тк не возвращает promise да и вообще ничего

Alex
08.09.2018
16:32:40
Вот именно
Она undefined возвращает

Alexey
08.09.2018
16:33:04
да это баг... а как в целом все компактнее сделать?

Alex
08.09.2018
16:33:14
Вынести запросы оттуда
Сделай типо сервиса
Который будет апи для запросов
Один запрос - один метод
И уже в твоей функции дергай именно методы эти

Alexey
08.09.2018
16:34:08

Alex
08.09.2018
16:34:19
Можно и в actions
Но неудобно будет переиспользовать
Если нужно будет ещё где то запрос сделать
Такой же

Alexey
08.09.2018
16:34:55
то дергать этот action

Alex
08.09.2018
16:35:02
Не семантичный)
Логика работы с бэком отдельно
Бизнес логика стора отдельно

Google

Alexey
08.09.2018
16:35:38
чуть чуть излишне думаю.

Alex
08.09.2018
16:35:51
Это просто рекомендуемый паттерн

Alexey
08.09.2018
16:35:51
что ты предлагаешь вынести в func
тока axios

Alex
08.09.2018
16:36:27
Пока да
Но если рассчитывается что потом приложение будет расти то обязательно надо

Alexey
08.09.2018
16:37:00
расти если то не в этом)

Alex
08.09.2018
16:37:10
Работы по времени много не увеличит

Alexey
08.09.2018
16:37:19
мне счас нужно чисто аккуратно..

Alex
08.09.2018
16:37:19
Так что почему бы сразу не разделить сущности

Alexey
08.09.2018
16:37:26
переписать успею..

Alexey
08.09.2018
16:37:30
думаю так.

Alex
08.09.2018
16:37:35
Дело твоё )
Мое дело предложить

Alexey
08.09.2018
16:37:45
promise.all дергать в компоненте
запросы в отдельные actions
в отдельный js файл только axios.get без содержимого then
так красиво считаешь?

Google

Alexey
08.09.2018
16:41:35
и будет типа getServers.then() в store?
а его уже в all ?

Егор
08.09.2018
16:43:16
подскажите плз, у меня тривиальная ситуация - надо при загрузке компонента загружать данные с апи, работает если дергать хук created. Я щас раскуриваю vuex и хочу использовать для этих целей mapActions
но на него никакой реакции нету, даже если запихнуть его в computed
так вот, нормально ли юзать в данном случае created, или реально сделать красивое решение с mapActions?

Vlad
08.09.2018
16:52:31

Егор
08.09.2018
16:54:30

Admin
ERROR: S client not available

Егор
08.09.2018
16:54:51
в данном случае данные подгружаются и без computed и mapActions

Vlad
08.09.2018
16:55:54

Егор
08.09.2018
16:56:24
кажется понял, спасибо

Александр
08.09.2018
17:26:23
может дать кто совет, если у меня форма состоит из 5 шагов(spa) я использую роутер для каждого шага, как мне быть с данными которые нужно потом отправить на сервер? мне все во vuex сохранять и в последнем шаге отправлять?

Avaz
08.09.2018
17:33:47

Александр
08.09.2018
17:37:20

Александр
08.09.2018
17:39:34
получается обхожу нативную отправку формы

Alex
08.09.2018
17:40:05
Именно
Но так ты можешь всегда восстановить данные формы на каждом шагу
Даже если страницу обновить
А потом пойти дальше и например если пользователь закрыл страницу и закончил работу с формой - выслать напоминание на почту и дать продолжить заполнять данные с любого шага

Александр
08.09.2018
17:42:07
спасибо

Google


Alexey
08.09.2018
18:11:19
Чекните как переписал
async getDefaultsTest({ commit, getters, dispatch }) {
console.log("getDefaults")
try {
await Promise.all([
new Promise((resolve, reject) => {
if (getters["settings/app_settings"]) {
resolve()
} else {
console.log("need settings_get")
return this.$axios
.$get("settings_get")
.then(result => {
console.log("settings get ok")
commit("settings/SET_APP_SETTINGS", result.appSettings)
resolve()
})
.catch(err => reject(err))
}
}),
new Promise((resolve, reject) => {
if (getters["configure/servers"]) {
resolve()
} else {
console.log("need servers_get")
return this.$axios
.$get("servers_get")
.then(result => {
console.log("servers get ok")
commit("configure/SET_SERVERS", result.servers)
resolve()
})
.catch(err => reject(err))
}
})
])
console.log("promise all end")
} catch (err) {
const error_msg = err.response && err.response.data ? err.response.data : err
throw new Error(Request error. ${error_msg})
}
}
async getSettings({ commit, getters }) {
console.log("getSettings")
if (!getters["settings/app_settings"]) {
const { appSettings } = await this.$axios.$get("settings_get")
console.log("settings get ok")
commit("settings/SET_APP_SETTINGS", appSettings)
}
},
async getServers({ commit, getters }) {
console.log("getServers")
if (!getters["configure/servers"]) {
const { servers } = await this.$axios.$get("servers_get")
console.log("servers get ok")
commit("configure/SET_SERVERS", servers)
}
}
......
async fetch({ route, app, store }) {
try {
await Promise.all([store.dispatch("getSettings"), store.dispatch("getServers")])
} catch (err) {
const error_msg = err.response && err.response.data ? err.response.data : err
throw new Error(Request error. ${error_msg})
}
и не надо then() catch() и new Promise
@AlexShepard89 теперь норм, кроме того что сам axios вынести?


John
08.09.2018
18:13:56
Мусор какой-то

Alexey
08.09.2018
18:14:13
что теперь можно сократить?
чуток еще подправил
ну а как правильно если нужно заполнять store несколькими паралельными запросами?

Alex
08.09.2018
18:27:49
Пиши код в каком нибудь сервисе позволяющем расшарить его
Мне с телефона адово сложно читать )
А вообще найди на гитхабе просто проекты и посмотри на полную картинку
Оптимизировать одну функцию вне контекста задачи как то бесполезно )
Если бы ты работал в команде то согласовал бы стиль кода с ней
А для себя хреначь и делай выводы сам что удобно а что нет
Толку если я к примеру скажу как делать но ты не найдёшь собственные выводы о пользе

Alexey
08.09.2018
18:39:13
я смотрел.. тут все таки своя задача и не совсем тривиальная.. fetch этот часть картинки..