云开发云函数用定时触发器重复调用时 会有之前状态残留,怎么办?

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

通过定时触发器 重复调用云函数 发送短信 每一分钟读取数据库 然后执行任务 执行成功 删除所在集合内的数据 然后再另外一个集合内添加这条数据

逻辑是上面这样的

但是上传触发器以后 每一分钟就会发送一条短信 无限发送

初步分析 重复调用的云函数 保留了待执行数组内的状态… . 即下一次就不读取数据库了 直接发送短信… 求破,

3 回复
qkang
qkang1 楼6 年前

云开发函数,建议都用await。异步,或者用promise then的语法有时候会遇到像是数据没刷新进去什么的情况,可能与云函数运行的机制有关,具体不清楚,用await的话就基本没什么问题

yongxu
yongxu2 楼6 年前

第二次分析:for循环中有异步操作,但是函数中同步代码已经执行完毕 异步代码还在执行 没得到结果之前,函数就被“销毁”了

chaogong
chaogong3 楼6 年前

初步分析:每一分钟读取数据库查询获取需要发送短信的数据,但是发送短信的状态没有更新到数据库导致频繁发送短信。