對於異步的接口請求處理,有四種處理方式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