找到解决办法了: 开发工具里可以指定node.js的版本,整了一个下午才搞定它,好痛苦啊,目前版本切换回12.16,一切运行正常了[图片] [图片]
请教一下如果修改云函数的nodejs版本我更新了一个最新的云函数,它的node.js的版本变成了16.13,一直报错,当我把同样的代码复制进之前旧的云函数,nodejs的版本还是12.16的云函数运行时,它就是正确的,我反复看了代码,没得问题,你们这个太不稳定了啊,最关键的是我还不能选node.js的版本,最新提交的全是16.13.这怎么也敢用于生产环境啊, 我实在受不了,这么多BUG.代码里好多兼容你们的BUG的代码.这么大的公司,为什么会这么多错误 [图片] 云函数代码如下: const cloud = require('wx-server-sdk'); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }); const db = cloud.database(); const _ = db.command; async function cleanUnusedImages(info) { try { // 查询 fileIds 表,最多查询10条数据 const { data: list } = await db.collection(info[0]) .where({ updateTime: _.lt(new Date(Date.now() - 1000 * 60 * 60 * 12)) // 图片记录超过12小时 }) .limit(10) .orderBy("updateTime", "asc") .get(); console.log("查询结果:", list); for (const item of list) { const { data: resList } = await db.collection(info[1]) .where({ fileIds: item.fileId }) .limit(1) .get(); if (resList.length === 0) { await cloud.deleteFile({ fileList: [item.fileId], }); // 文件删除成功,删除当前记录 await db.collection(info[0]).doc(item._id).remove(); } else { // 当前文件仍在使用中,修改当前记录的修改时间 await db.collection(info[0]).doc(item._id).update({ data: { "updateTime": db.serverDate() } }); } } console.log("定时清理未被使用的图片执行成功!" + info.toString()); } catch (error) { console.error("执行出错:", error); throw error; } } exports.main = async (event, context) => { // 随机获取要执行的表 const FileIdsTables = [ ["houseFileIds", "houseResources"], ["roomFileIds", "houseRoom"], ["contractFileIds", "contract"], ]; const index = Math.floor(Math.random() * 3); const info = FileIdsTables[index]; await cleanUnusedImages(info); console.log("删除未被使用的图片执行成功!") };
2023-09-18它自己好了哈,怪事了
请问这是什么情况啊,之前还好好的,现在就选不了云环境了?[图片]
2021-10-21