Promise參數接收問題

Promise參數接收問題

const result = await get("/api/order");

const orderList = result.data;

老師get("/api/order");回傳的不是一個Promise對象嗎?為什麼可以直接取到data的值呢?

這裡看不是很懂?不是應該寫一個get("/api/order").then(res=>{const orderList = res.data;  })

這樣子接收才對嗎?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,不是说await可以直接拿到resolve的参数。await的作用就是把异步执行的代码变成同步执行。如果你不理解,可以通俗的理解为,加了await,就会等待Promise处理完毕之后才会返回值。所以代码要等待then执行完毕才会返回结果,then中返回的是数据,所以直接返回的数据。如果不加,就不会等待then执行了,会直接返回Promise对象。

祝学习愉快~


好帮手慕夭夭 2021-03-18 10:36:35

同学你好,问题解答如下:

1、是返回Promise对象。

2、这里能够取到数据是因为加了await ,具体参考如下:

get方法中,请求完数据,加了then方法,then方法接收了数据并通过resolve返回了数据。

http://img1.sycdn.imooc.com//climg/6052bbc809fa6dac06220183.jpg

所以当调用get方法之后,await 会等待异步执行完毕,即拿到了then返回的结果。

祝学习愉快~

  • 提问者 齊帥 #1

    所以意思是await可以直接拿到resolve裡面的參數?不用透過.then(res=>{const orderList = res.data;  })這樣的方法接收嗎?

    2021-03-18 10:40:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师