const MAX_LIMIT = 10
const query = db.collection('cate').get()
try{
const countResult = await db.collection('cate').count()
const total = countResult.total
// 计算需分几次取
const batchTimes = Math.ceil(total / 10)
const tasks = []
for (let i = 0; i < batchTimes; i++) {
const promise = db.collection('cate').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
tasks.push(promise)
}
// 等待所有
const { array } = (await Promise.all(tasks)).reduce((acc, cur) => {
这里如何将下面四行代码塞进来,返回的结果是一个数组array
})
const res = await new getToken().posteve(Tripurl,query)
const data = res.data.map(item=>{return JSON.parse(item)})
const array = {...{result:data}}
new result(ctx,'SUCCESS',200,array).answer()
}
有用望采纳,你可以在等待所有 Promise 返回结果之后,将它们的结果 concat 到一个数组中:
const results = await Promise.all(tasks)
const array = [].concat(...results.map(result => result.docs))
然后,您可以对数组进行任何操作,例如:
const array = [].concat(...results.map(result => result.docs))
.map(item => JSON.parse(item))
.reduce((acc, cur) => ({...acc, ...{result: cur}}), {})
不知道你这个问题是否已经解决, 如果还没有解决的话: