169 похожих чатов

Привет. Может кто в теме. Во vue 3 планируют чинить

async setup/await или так и останется костыль в виде кодогенерации в <script setup>?

14 ответов

14 просмотров

а что там нужно чинить? между async setup и script setup + top-level await нет никакой разницы

Александр- Автор вопроса
Artyom Tuchkov
а что там нужно чинить? между async setup и script...

Так после await в setup все ломается (ну почти все)

Александр- Автор вопроса
Artyom Tuchkov
а что там нужно чинить? между async setup и script...

https://github.com/vuejs/rfcs/discussions/234 https://antfu.me/posts/async-with-composition-api

Александр
Так после await в setup все ломается (ну почти все...

правильно, потому что async setup работает только с экспериментальной фичей - Suspense просто разница в том, что в script setup async выставляется только при наличии top-level await, но если ты его там укажешь, то все точно так же сломается без наличия Suspense

Александр- Автор вопроса
Artyom Tuchkov
правильно, потому что async setup работает только ...

после await "теряется" инстанс компонента

Александр- Автор вопроса
Artyom Tuchkov
screenshot

я выше ссылки скинул и там дискуссия в гите подробно описывает проблему

Александр- Автор вопроса
Artyom Tuchkov
screenshot

попробуйте сделать нечто такое export default { setup: async (props, ctx) => { const vm = getCurrentInstance() console.log(vm) // тут все ок, в консоле будет объект инстанса компонента await someAsyncFunc() const vm2 = getCurrentInstance() console.log(vm2) // тут будет null } }

Александр
я выше ссылки скинул и там дискуссия в гите подроб...

ага, вижу, ну я бы порекомендовал вообще не использовать async setup, пока Suspense не выйдет из эксперименталки, а заодно с ним могут допилить и поведение async setup всегда можно делать запросы в async onMounted, лично я так и делаю, поэтому с этой проблемой никогда не сталкивался

Александр- Автор вопроса
Artyom Tuchkov
ага, вижу, ну я бы порекомендовал вообще не исполь...

onMounted не работает на сервере, а данные нужно получить

Александр- Автор вопроса
Artyom Tuchkov
тогда только script setup остается

Это то да. Вопрос был в том планируют ли сделать "нормально" без костылей или все так и останется

Александр
Это то да. Вопрос был в том планируют ли сделать "...

вряд ли, в ишью есть же коммент от Эвана, где он рекомендует просто использовать этот вариант >In non-compiled async setup() it's simpler to just make sure to use all composition API calls before the first await.

Похожие вопросы

Обсуждают сегодня

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
что читать по делфи?вообще 0 в нем
fd dsds
9
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
const dirname = new URL((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new UR...
Kirill Shaplyko
4
Карта сайта