При использовании динамического 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 импорта, так что правильная подпись возврата для использования?