为什么使用了then,但是程序运行的顺序还不是顺序执行的?
按理说不应该是87行的代码应该在80行代码之后运行吗?
为什么实际运行中正好反过来了?不应该是先执行第一个then,再执行第二个then吗?
下图为输出截图
这个图是图一里面getlistindex的函数详情
1 回复
你的 .then 里又执行了异步方法 getListIndexSkip,自然是下面的先执行了,想要按顺序还是 await 比较方便吧
// 开启增强编译
async function () {
const res = await db.collection('xxx').where({
}).count()
this.setData({
goodsNum: res.total
})
let list = []
for (let i = 0; i < res.total; i += 20) {
const li = await this.getListIndexSkip()
list = list.concat(li)
}
...
}