- 当前 Bug 的表现(可附上截图)
我简化了一下我的代码:
我需要查询某个place两周(14天)内的状态,故把14个Promise放进了promises里,然后使用Promise.all来并发执行,(因为之前我的做法是串行执行14个查询,但这样太慢了,每次需要3秒左右)
exports.getStatus = async (placeId) => { const date = new Date() const promises = new Array()
promises.push( db.collection( 'xxx' ).where({ placeId, date: util.formatDateTime(date, 'yyyy-MM-dd' ) }) .get() ) date.setDate(date.getDate() + 1) }
|
console.time( 'get status' ) let statusRes = await getStatus(placeI d) console.timeEnd( 'get status' ) |
* 在开发者工具上,平均用时在300ms左右,可见确实是并发执行的
* 但在真机上,测出来还是需要3秒左右,我猜想它还是在顺序的执行
* 真机环境:
- 预期表现
在任何环境下,都应该是并发执行,所需时间应该在300ms左右
- 复现路径和提供一个最简复现 Demo(应该不需要了吧
在此先行谢过各位大佬!
补充一下:我没有开启es6转5的选项,使用的是小程序自带的async/await
请问有官方人员能核实一下情况嘛?谢谢!
大哥,还好吗,请问这个问题现在解决了吗···我现在也遇到这个问题了,我才4个函数啊,也要3s了啊·····!!!哭啊
只能想办法减少访问数据库的次数,能一次查出来的内容就不要分次查询了