函数内部导入返回ZoneAwarePromise
下面是我使用的代码
page_types = [
{
name: 'anime',
loadComponent: () => import('./anime/anime.component').then(c => c.AnimeComponent)
}
];
getPageType(name){
for (var i=0; i < this.page_types.length; i++) {
if (this.page_types[i].name == name) {
return this.page_types[i].loadComponent();
}
}
}
constructor(
console.log(this.getPageType('anime'));
){}
控制台中的响应
ZoneAwarePromise {__ zone_symbol__state:空,__zone_symbol__value: Array(0)}
我希望输出是组件类
答案 0 :(得分:1)
import('./anime/anime.component')
是异步操作,因此loadComponent
函数返回Promise,而getPageType(name)
也返回Promise。因此,它应该在控制台日志中具有 ZoneAwarePromise {__zone_symbol__state:null,__zone_symbol__value:Array(0)} 。
如果要在控制台日志中使用组件类,则应处理返回的Promise。
constructor() {
this.getPageType('anime').then(x => {
console.log(x.name);
})
}