亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

VUE大家能講講為什么這個axios的為什么外面又套了一個promise?

VUE大家能講講為什么這個axios的為什么外面又套了一個promise?

Helenr 2019-05-09 09:27:58
axios返回的response.data可以拿來用了但是為什么外面又套了一層promise?用的時候還要這樣去寫這樣不是更麻煩了嗎??昨天遇到的這個問題剛才看到一個人提問了差不多的問題但是那個人沒有貼代碼我貼上代碼大家能解釋一下為什么要這樣做嗎?謝謝get().then(data=>{console.log(data)})exportfunctionget(url,data={}){returnnewPromise((resolve,reject)=>{axios.get(url,{params:data}).then(response=>{resolve(response.data)},err=>{reject(err)})})}
查看完整描述

2 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

包一層Promise多此一舉完全沒必要
exportfunctionget(url,data={}){
returnaxios.get(url,{params:data}).then((res)=>res.data)
}
Promise.prototype.then
如果then中的回調函數返回一個值,那么then返回的Promise將會成為接受狀態,并且將返回的值作為接受狀態的回調函數的參數值。
如果then中的回調函數拋出一個錯誤,那么then返回的Promise將會成為拒絕狀態,并且將拋出的錯誤作為拒絕狀態的回調函數的參數值。
如果then中的回調函數返回一個已經是接受狀態的Promise,那么then返回的Promise也會成為接受狀態,并且將那個Promise的接受狀態的回調函數的參數值作為該被返回的Promise的接受狀態回調函數的參數值。
如果then中的回調函數返回一個已經是拒絕狀態的Promise,那么then返回的Promise也會成為拒絕狀態,并且將那個Promise的拒絕狀態的回調函數的參數值作為該被返回的Promise的拒絕狀態回調函數的參數值。
如果then中的回調函數返回一個未定狀態(pending)的Promise,那么then返回Promise的狀態也是未定的,并且它的終態與那個Promise的終態相同;同時,它變為終態時調用的回調函數參數與那個Promise變為終態時的回調函數的參數是相同的。
                            
查看完整回答
反對 回復 2019-05-09
  • 2 回答
  • 0 關注
  • 402 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號