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

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

萌新求教!方法異步,想用async獲取 可是只能用Promise獲取 為什么 求大佬解釋下 不太懂 謝謝了跪求!

萌新求教!方法異步,想用async獲取 可是只能用Promise獲取 為什么 求大佬解釋下 不太懂 謝謝了跪求!

DIEA 2019-06-21 17:13:05
我想獲取cos.deleteObject里的data數據然后Promise里獲取成功了反而async/await里獲取不到這個能幫助我告我下是什么原理嘛、cos那個應該是異步的方法然后await不是應該對這個同步后在執行其他的方法嘛?PromisefunctiondeleteImg(){returnnewPromise(function(resolve,reject){cos.deleteObject(params,function(err,data){if(err){resolve(err)}else{resolve(data)}})})}asyncawaitasyncfunctiondeleteImg(){vara=awaitcos.deleteObject(params,function(err,data){if(err){returnerr}else{returndata}})returna}
查看完整描述

2 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

你可以把async/await看成是在promise上面又封裝了一層,對promise對象有效,對用回調的普通函數無效:
functiondeleteImg(){
returnnewPromise(function(resolve,reject){
cos.deleteObject(params,function(err,data){
if(err){
resolve(err)
}else{
resolve(data)
}
})
})
}
asyncfunctiondelete(){
constres=awaitdeleteImg()
}
                            
查看完整回答
反對 回復 2019-06-21
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

cos.deleteObject用的是回調不是成功/失敗后走的then/catchawait之后的可以大體理解為Promise.resolve(之后的代碼)然后在then里把返回值返回給=號之前的變量可以看下co模塊理解下所以可以把回調修改為promise就是把你第一個封裝到promis的方法放到await之后
                            
查看完整回答
反對 回復 2019-06-21
  • 2 回答
  • 0 關注
  • 418 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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