云开发云函数中用云数据库api的链式操作 无法运行完毕 求大佬看看?
发布于 7 年前 作者 lianglei 5411 次浏览 来自 官方Issues

// 云函数入口文件

const cloud require’wx-server-sdk’

cloudinit()

// 云函数入口函数

exportsmain asyncevent context=>

const wxContext cloudgetWXContext()

const _ clouddatabase().command

let _id eventid

let postalNumber eventpostalNumber

return await clouddatabase().collection’unsentLetter’).where({// 找到这条数据

_id _eq_id

}).get().thenres=>{

consolelogres

consolelogresdata])

delete resdata]._id

clouddatabase().collection"sentLetter").add({在另一个数据库集合里添加这条数据

data

resdata],

sendAdmin wxContextOPENID

postalNumber

 

}).thenres =>

consolelogres

clouddatabase().collection’unsentLetter’).where({ // 删除原本数据库的的这条数据

_id _eq_id

}).remove().thenres =>

consolelog"移除成功" res

})

})

})

打开云函数的本地调试 运行结果是没问题的 三次操作数据库 都可以运行的

但是如果不打开本地调试,是无法进行第二次 和 第三次 操作的

初步分析:在打开云函数本地调试时,会开垦出一小块内存供云函数使用,但是如果不打开本地调试 调用云函数分配内存结束后 当函数没有调用完毕之前就收回了这部分内存… 应该是有办法让云函数执行完毕的… 也是一个同步异步的问题…

2 回复

我觉得是我语法上面的原因 这套代码移植在前端 改一改 应该正常运作… 我还是写在前端吧…

看得头晕

回到顶部