求大佬指点哈!如何实现方法异步? 求大佬解释下 不太懂 谢谢了感激不尽

我想获取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}
LEATH
浏览 123回答 2
2回答

qq_笑_17

cos.deleteObject用的是回调不是成功/失败后走的then/catchawait之后的可以大体理解为Promise.resolve(之后的代码)然后在then里把返回值返回给=号之前的变量可以看下co模块理解下所以可以把回调修改为promise就是把你第一个封装到promis的方法放到await之后

开满天机

你可以把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()}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript