比方說,我有一個文件從api導入函數並對結果進行處理。在JavaScript中返回Promise es6
import api from './api'
const getData =() => {
api.get(url)
.then(res => console.log(res))
.catch(err => console.log(err))
}
我見過兩種不同的樣式用於返回響應,以便錯誤起泡。
版本1:
get: (url) => {
return new Promise((resolve, reject) => axios.get(url)
.then(res => resolve(res))
.catch(err => reject(err)))
}
版本2:
get: (url) => {
return axios.get(url)
.then(res => {
if (res.success == 200) {
return Promise.resolve(res)
}
return Promise.reject(res)
})
}
什麼是兩種方法之間的差異?有錯誤處理的首選/更好的方法嗎?
'then'還有一個可選的第二個回調參數,可以用來代替鏈接'catch'。 – Igor
版本1 =>您返回一個待解決或拒絕的承諾。版本2 =>您稍後返回一個已解決或拒絕的承諾 – Fefux