后端往往在返回数据的时候都会有一个固定的格式,来搭配前端的数据接收工作。
比如:
// 返回格式 一
{
code:200,
message:'success',
data:{
name:'勿语',
age:18
}
}
// 返回格式 二
{
code:200,
message:'success',
data:'dawkn23n1io2nkfdawbdkbwfa'
}
从返回结果来看,只有 data 的数据类型不一样。
那么使用TypeScript 就可以很方便通过泛型去接收数据。
// 定义统一返回结果集
interface ResponseResult<T>{
code:number
message:string
data:T
}
// 后端响应结果 backedResp
{
code:500,
message:'error',
data:{
name:'wuyu',
age:123
}
}
//从后端返回结果来看,data是一个对象。那么我们就定义一个具备这些属性的一个对象。
interface User{
name:string
age:number
}
// 直接使用泛型去接收 backedResp,让代码变得更优雅
const rep:ResponseResult<User>=backedResp
当然还可以使用继承的方式来实现,但是我感觉那样代码就不够优雅了。