最近开发小程序,需要用到 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 接受一个对象作为参数。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.