Typescript 类型{}中缺少Always属性

Typescript 类型{}中缺少Always属性,typescript,Typescript,尝试练习typescript和所有类型都进行得很好,除了下面的例子,当我尝试分配从派系kicks导出的接口用于TornRequester时 文件索引.ts 从“axios”导入axios; 从“/派系kicks”导入{派系kicks,MemberShipNews}; const properties=[“用户”、“财产”、“派系”、“公司”、“市场”、“撕裂”]; 类TornRequester{ 数据:MemberShipNews={}; 构造函数(公共属性:字符串){} getProp(){

尝试练习typescript和所有类型都进行得很好,除了下面的例子,当我尝试分配从派系kicks导出的接口用于TornRequester时

文件索引.ts

从“axios”导入axios;
从“/派系kicks”导入{派系kicks,MemberShipNews};
const properties=[“用户”、“财产”、“派系”、“公司”、“市场”、“撕裂”];
类TornRequester{
数据:MemberShipNews={};
构造函数(公共属性:字符串){}
getProp(){
返回轴
.得到(
"https://api.torn.com/faction/26043?selections=membershipnews&key=ABhLYU48Ok7M10CV"
)
。然后(res=>{
const d:MemberShipNews=res.data;
这个数据=d;
const f=新的派系kicks(this.data);
f、 印刷品;
})
.catch(err=>console.log(err));
}
}
const req=新的TornRequester(属性[2]);
req.getProp();
和kicks.ts

导出接口成员身份新闻{
会员资讯:{
身份证:{
时间戳:数字;
新闻:字符串;
};
};
}
出口阶级斗争{
构造函数(公共新闻:MemberShipNews){}
获取打印():void{
返回console.log(this.news);
}
}

您已将
{}
分配给需要
membershipnews
属性的类型。Typescript告诉您不能这样做

我想你想要的是一种方式,可以说这些数据尚未加载。要实现这一点,请将
data
的类型与
null
联合

data: MemberShipNews | null = null;
现在,
this.data
有两种可能的类型<在axios请求完成之前,code>null,或者
MemberShipNews
,这应该是axios请求的结果

在代码的其他地方,您可以测试数据是否可用,如下所示:

if (this.data) {
  console.log(this.data.membershipnews)
} else {
  console.log('this.data is not yet loaded')
}
如果可以,请将您的实际代码作为文本编辑到您的问题中-代码的图像单独用于处理和调试。它迫使那些本想帮助你的人首先去做,这是浪费时间。