虽然应该有错误,但我得到了正确的结果。为什么typesript在promis时不响应type?
https://codesandbox.io/s/lucid-elgamal-4lbin2
const BEApi = new Promise((resolve) => {
resolve({
string: 123
});
});
type MyDataType = {
string: string;
};
let myData: MyDataType | null = null;
const myResponce = async () => {
myData = (await BEApi) as MyDataType;
console.log(myData);
};
myResponce();
1条答案
按热度按时间afdcj2ne1#
类型Assert告诉TypeScript值是指定的类型。
它显式重写所有类型检查。
您说
(await BEApi) as MyDataType
和TypeScript信任您。我建议避免使用
as
,更好的描述类型的方法是指定new Promise
应该解析为MyDataType
。这将导致TypeScript在您尝试使用不符合该类型的值解析它时报告错误。