uni-app 云函数这几天有什么改动吗?我一个长时间的函数本来运行挺正常的,这两天突然不行了

uni-app 云函数这几天有什么改动吗?我一个长时间的函数本来运行挺正常的,这两天突然不行了

操作步骤:

  • 运行一个有可能会报错的child_process,做了try catch

预期结果:

  • 已经做了try catch,应该继续运行

实际结果:

  • 已经做了try catch,但是在child_process报错后好像还是强制退出了

bug描述:

  • 已经做了try catch,但是再child_process报错后好像还是强制退出了

at ChildProcess.exithandler (child_process.js:275:12)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)

更多关于uni-app 云函数这几天有什么改动吗?我一个长时间的函数本来运行挺正常的,这两天突然不行了的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

最近没做过调整,代码贴一下

更多关于uni-app 云函数这几天有什么改动吗?我一个长时间的函数本来运行挺正常的,这两天突然不行了的实战教程也可以访问 https://www.itying.com/category-93-b0.html


初步判断是由于没有package.json的配置项,以后有问题我再反应吧

回复 吴克: 好的

秃然就很灵性

根据你提供的错误堆栈信息,问题可能不在uni-app云函数本身的改动,而是Node.js子进程(child_process)的执行机制导致的。

从错误堆栈看,子进程的退出事件没有被正确捕获。虽然你在代码中使用了try-catch,但child_process的某些错误(特别是进程退出相关的)是通过事件机制触发的,无法通过try-catch捕获。

建议检查以下几点:

  1. 确保对child_process的error和exit事件都进行了监听处理:
const { spawn } = require('child_process');
const child = spawn('your-command');

child.on('error', (error) => {
    console.error('子进程启动失败:', error);
});

child.on('exit', (code, signal) => {
    console.log(`子进程退出,代码: ${code}, 信号: ${signal}`);
});
回到顶部