Changelog
v3.0.0
fit
的使用进一步简化,之前版本是在fit
中返回约定结构的对象,现在升级为api
调用,代码本身就很达意,减少额外思考。下面用一个具体的项目代码,对比一下3.x
版本fit
的变化:1.x
和2.x
版本的fit
,对后端数据进行适配。
// 下面的demo假设后端数据以`success`键表示业务逻辑的成功与否
fit: function (response) {
const fitted = {} // 3.x 开始,这行可以删掉了
if (response.success) {
fitted.success = true // 3.x 开始,这行可以删掉了
fitted.content = response.data || {} // 3.x 开始,不需要记住`content`约定
} else {
fitted.success = false // 3.x 开始,这行可以删掉了
fitted.error = { // 3.x 开始,不需要记住`error`约定
code: response.errorCode,
message: response.errorDetail // 3.x 开始,`message`是唯一的约定
}
}
return fitted // 从 3.x 开始,这行可以删掉了
}
用3.x
版本的fit
,实现同样的适配逻辑,简化了很多。
// 下面的demo假设后端数据以`success`键表示业务逻辑的成功与否
fit: function(response) {
if (response.success) {
this.toResolve(response.data || {})
} else {
this.toReject({
code: response.errorCode,
message: response.errorDetail // `message`是`reject`数据必有的
})
}
}
经过复盘很多项目的实际使用情况,
1.x
和2.x
版本的fit
配置,虽然不是必选项,但使用率却是100%
的,所以,从3.x
开始,fit
配置被设计成必选项,如果不配置,响应是无法完结(resolve/reject
)的。