userList.data.forEach(async (e) => {
await db.collection("shareholders").where({
_id: '608268eba3a24100014e74e0'
}).update({
username: "divid11"
})
})
封装一个异步函数。调用也无效。各种方法都用了. 用.doc 更新也没用。用条件更新也没用。set全部更新也无效
产品分类: uniCloud/App
userList.data.forEach(async (e) => {
await db.collection("shareholders").where({
_id: '608268eba3a24100014e74e0'
}).update({
username: "divid11"
})
})
封装一个异步函数。调用也无效。各种方法都用了. 用.doc 更新也没用。用条件更新也没用。set全部更新也无效
测试了很多遍。以为是传参问题。结果给成固定值,再循环外测试有效。在里面无效
没有结果
再循环内无效。循环外有效修改
循环更新数据时不执行修改语句,数据库没有得到有效的更改。
修改语句再循环外的时候。有效的更新了数据库的数据
4 个回复
2***@qq.com (作者) - life
无人问津的 问题吗?大佬们,没有遇到过此类问题吗,希望能够得到有效的解决方案。谢谢
2***@qq.com (作者) - life
用递归 解决了此方法。。感谢node.js 给我带来的困扰
拓荒
forEach 每次都会执行那个async函数,并不是循环执行函数里面的逻辑,换成for(let i = 0; ...)这种 外面包一层saync函数,循环体里面执行await就可以
2021-04-26 14:11
DCloud_uniCloud_WYQ
把forEach改成for循环即可,async和forEach是没法这么搭配使用的
1***@qq.com
求代码,大佬