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