Опять я к вам за помощью)
Дано. Laravel + SSR + Vue + axios
Laravel рендерит Vue приложуху при помощи движка V8js
Пишу:
created() {
this.items.push(11111111)
axios
.get('
http://127.0.0.1:8000/api/v1/search/', data)
.then(response => {
this.items =
response.data })
В результате как не трудно догадаться в браузер у меня рендерится массив items равный [1111111]
Почему? Потому что промис будь он не ладен
Я пробовал играться аля
async created() {
this.items.push(11111111)
this.items = await axios.get(
...
)
this.items.push(22222222)
Не прокатывает, что кстати странно, например вот так:
async created() {
this.items.push(11111111)
for(let i=0; i<1000311341; i++) {
Math.sqrt(Math.pow(1,222), 22)
}
this.items.push(22222222)
this.items = await axios.get(
...
)
this.items.push(33333333)
Сервера приходит [11111111, 222222222]
То есть зубодробильный цикл он ждёт (задержка чувствуется), а вот промис не хочет ждать
Чо xmlhttprequest присать? т_Т
Вообще в доке по вуе пишут что аксиос адаптирован под такое, и сам знает как ему работать при ssr. Но у меня есть подозрения что моя приложуха не знает что она рендерится в ssr.
Итак вопросы:
1. Как выполнить синхронно axios запрос? (никак, я понял)
2. Как приложения на вуе понимаю что они в ssr? Может есть какой-то глобальный флаг?
3. Сталкивался ктонибудь с такой проблемой может?