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

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

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

14 ответов

16 просмотров

а что там нужно чинить? между 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.

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
70
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Люди добрые, помогите с идеями, потому что свои закончились. У клиента падает софтина в момент инициализации модуля OtlEventMonitor на RegisterWindowMessage('Gp/OtlTaskEvents/...
Михаил Усков
7
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
GridView fully ignored first parent(SizedBox), and take width from second parent(Container). How can I constrain GridView by first parent? Widget build(BuildContext context) {...
Hamster
1
Коллеги, добрый день. Есть такой вопрос: Есть модуль, который надо запустить через супервизор как дочерний процесс. Пока инстансов было нужно 8, всё было окей, но когда их ст...
Δημήτηρ
4
Hey there Which is the best Linux destro for developers (coding)? To my research on reddit, they said Linux mint is good for mid level spec and Ubuntu for high Lev hardwar...
Wiz 🪄
11
Карта сайта