async getPorts () { const outputArr = [] const promises = [] for (let i = 1; i <= 7; i++) { promises.push( electricQuery({ electricId: ELECTRIC_ID, commandKey: 15, queryMode: 1, week: i }).then(({ data }) => { if (data[0]) { outputArr.push(data[0]) } }) ) } await Promise.all(promises) return { data: outputArr } }, 把数据渲染到 schema: { nonPagination: true, autoRefresh: true, list: this.getPorts, cols: [ { prop: 'start1', label: '星期' }, { prop: 'start2', label: '星期' }, { prop: 'start3', label: '星期' }, { prop: 'start4', label: '星期' }, { prop: 'start5', label: '星期' }, { prop: 'start6', label: '星期' }, { prop: 'start7', label: '星期' } ] } 中,js代码怎么写
时间: 2023-12-06 11:45:25 浏览: 21
你可以将 `getPorts` 函数作为 `list` 属性的值,如下所示:
```javascript
schema: {
nonPagination: true,
autoRefresh: true,
list: async function() {
const outputArr = [];
const promises = [];
for (let i = 1; i <= 7; i++) {
promises.push(
electricQuery({
electricId: ELECTRIC_ID,
commandKey: 15,
queryMode: 1,
week: i
}).then(({ data }) => {
if (data[0]) {
outputArr.push(data[0])
}
})
)
}
await Promise.all(promises)
return { data: outputArr }
},
cols: [
{ prop: 'start1', label: '星期' },
{ prop: 'start2', label: '星期' },
{ prop: 'start3', label: '星期' },
{ prop: 'start4', label: '星期' },
{ prop: 'start5', label: '星期' },
{ prop: 'start6', label: '星期' },
{ prop: 'start7', label: '星期' }
]
}
```
这里使用了 `async`/`await` 语法,等待所有异步请求完成后,返回带有数据的对象。在 `cols` 中设置每个属性的 `prop` 值,以便在渲染数据时能正确地匹配到对应的数据属性。