对于异步的接口请求处理,有四种处理方式javascript
promise
.then(res => {
data = res.body
})
.catch(err => {
// todo
})
复制代码
let res
try {
res = await promise()
} catch (ex) {
// todo
}
data = res.body
复制代码
这一层再拦截器上作封装,假设接口报错,事先配置一个固定的code码。code 码再定制上,会存在一些歧义,尤为是新来的同事,不是太好理解。java
const awaitWrap = (promise) => {
return promise
.then(res => [null, res])
.catch(err => [err, null])
}
const [res, data] = awaitWrap(sendRequest())
if (err) {
// todo
}
const data = res.body
复制代码
awaitWrap 这一步能够封装到脚手架层。这样子会简洁很多。promise