Что такое подпись возвращаемого типа для асинхронного c импорта компонента Vue. js SF C? - PullRequest
0 голосов
/ 26 февраля 2020

При использовании динамического c импорта Vue Отдельных файловых компонентов, какой тип возврата внутри обещания?

{
  … components: [ () => import('../components/MyComponent.vue')], …
}

typcript-eslint уведомит меня Missing return type on function, что я понимаю и ценю на протяжении всего проекта, поэтому не хочу отключать это предупреждение.

Но какой тип он возвращает?

Я использовал:

(): Promise<Vue> => import(…)
(): Promise<VueConstructor<Vue>> => import(…)
(): AsyncComponentPromise<Vue> => import(…)
(): Promise<unknown> => import(…)

Последнее из Это нормально во время IDE-линтинга, но не во время компиляции. Каждая попытка приводит к ошибкам, связанным с отсутствующими перегрузками, которые я не понимаю:

Type '() => Promise' нельзя назначить типу 'VueConstructor | FunctionalComponentOptions> | ComponentOptions> | AsyncComponentPromise <...> | AsyncComponentFactory <...>». Тип «() => Обещание» нельзя назначить типу «AsyncComponentPromise». Тип «Обещание» нельзя назначить типу «void | Обещание | FunctionalComponentOptions, PropsDefinition >> | ComponentOptions <...> | EsModuleComponent>». Тип «Обещание» нельзя назначить типу «Обещание | FunctionalComponentOptions, PropsDefinition >> | ComponentOptions <...> | EsModuleComponent>». Тип 'Vue' нельзя назначить типу 'VueConstructor | FunctionalComponentOptions, PropsDefinition >> | ComponentOptions <...> | EsModuleComponent. Свойство «default» отсутствует в типе «Vue», но требуется в типе «EsModuleComponent».

Это применимо только при использовании методологии динамического / асинхронного c импорта, так что правильная подпись возврата для использования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...