async js 返回值_async/await 如何直接获取返回值并赋值给一个参数?

在使用 async/await 的场景中,如何将一个返回 Promise 的函数值赋给变量?例如在 Vue.js 的单页面应用中,`getAccessCountOption()` 返回一个 Promise,需要获取其解析后的值并赋给 `option`。问题在于如何在不使用 then 方法的情况下直接处理 Promise 的结果。解决方案是利用 async 函数的特性,等待 Promise 解析并返回结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开发小程序,需要用到 async/await 功能,如下(类似 vue.js 单页面开发):

export default class Index extends wepy.page {

data = {

ecAccessCount: {

option: this.getAccessCountOption().then((res) => {

// 问题在这里,getAccessCountOption()返回的是一个 promise 对象,该如何直接获取该对象里包含的值并赋值给 option 呢?因为 option 的值是一个{}对象。

return res

})

}

}

async getAccessCountOption() {

// 这里我创建两个对象,并在下面的 await 中通过 api 获取并处理得到的值,因为在 return 回的对象中需要用到这两个动态的值。

let dataX = []

let dataY = []

await wepy.request({

url: api.user.accessCount.url,

method: api.user.accessCount.method

}).then((res) => {

res.data.data.map(function (item, index, array) {

dataX.push(item.dimensions[0])

dataY.push(item.metrics[0].values[0])

})

})

return {

legend: {

data: ['会话数']

},

grid: {

left: '0',

right: '0',

bottom: '2%',

containLabel: true

},

xAxis: {

type: 'category',

data: dataX

},

yAxis: {

type: 'value'

},

series: [

{

name: '会话数',

data: dataY,

type: 'line'

}

]

}

}

}

上面就是遇到的问题,,getAccessCountOption()返回的是一个 promise 对象,该如何直接获取该对象里包含的值并赋值给 option 呢? option 接受一个对象作为参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值