云开发数据库调用时代码的先后运行顺序问题?

发布于 8 年前作者 gangliu7356 次浏览最后编辑 8 年前来自 ask

上面的代码 console.log(a)得到的a的值是空,我怀疑console.log(a)在for循环之前运行了 ,如果是这样,怎么才能让console.log(a)在for循环之后运行呢。小白求教 谢谢大家

3 回复
utian
utian1 楼6 年前

数据库是异步的,concat这个动作有滞后

minmeng
minmeng2 楼6 年前

then后面再加then

jiezhou
jiezhou3 楼6 年前

谢邀。首先,需要弄清楚你最终目的是做什么(是要取前120个中 comments 为空的数据?)。

开发时__应该避免使用 for 循环去操作数据库__,看你贴出来的逻辑,是可以融合成一个请求来达想要的目的的。

如果非要按原有逻辑来也是可以改造的。使用 async / await 将循环内的 get() 赋值给数组 a,然后 join 得到结果后 console.log(a)。或者使用 Promise.all 将循环内全部查询合起来 走 .then() 输出