vue3 + TS ts判断异步返回值问题?

作者站长头像
站长
· 阅读数 18

vue3 + TS ts判断异步返回值问题?

编辑器提示 但是能正常用

回复
1个回答
avatar
test
2024-06-25

TypeScript 是一门强类型语言,当你声明一个变量或参数时,编译器会自动推断它的类型。在上面的代码中,res 变量被初始化为一个空对象 {},因此编译器默认认为它是一个没有任何属性的空对象。当你使用可选链 res?.status 时,编译器会检查这个属性是否存在于对象中,并给出相应的警告信息。你可以尝试使用以下方法来解决提示报错 或者忽略两种方式解决:1

if ((res as { status?: number })?.status === 200) {
    console.log(res, 'res');
  }

2 定义一个接口类型,包含期望的属性及其类型

type resType = {
  status?: number;
  message?: string;
};

async function getUserInfolist() {// 
  let res:resType = await new Promise(function (reslove){
    reslove({status: 200,message: '成功'})
  })
  if(res?.status === 200){
    console.log(res,'res')
  }
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容