我正在通过Node中的一个子进程运行Python脚本.js,就像这样:

require('child_process').exec('python celulas.py', function (error, stdout, stderr) {
    child.stdout.pipe(process.stdout);
});

但Node并没有等到它完成.我如何才能等待流程完成?

是否可以通过在我从主脚本调用的模块中运行子进程来实现这一点?

推荐答案

你应该使用exec sync

允许脚本等待exec完成

非常容易使用:

var execSync = require('exec-sync');

var user = execSync('python celulas.py');

看看:

Node.js相关问答推荐

Spotify Auth访问令牌给出错误代码400

MongoDB上的updateOne和findOneAndUpdate在Node.js中无法正常工作

车把模板引擎循环问题

Nestjs swc 错误:找不到模块项目路径/src/app.module

更新 mongodb 中的交易值

无法将示例 Node.js 应用程序部署到 AWS Elastic Beanstalk

nyc 代码覆盖不适用于 NodeJs Express 服务器

加速 sequelize ORM 中的查询

为什么 $or 在带有正则表达式的mongoose 中不能正常工作

使用 Forms API 进行批量更新时生成 itemId

'{ id: string; 类型的参数}' 不可分配给FindOneOptions类型的参数

后端位于 Docker 容器中时的 SvelteKit SSR fetch()

使用 firebase 函数 api 运行套接字(相同的端口创建问题)

响应发送 200 而不是 403

使用中的端口代码:'EADDRINUSE',即使在 kill 命令之后

如何在 MongoDB collection.find() 上获取回调

socket.io 发出回调合适吗?

node.js(ES6 / Babel)中 import X 和 import * as X 的区别?

路由后的 Node Express 4 中间件

CORS 错误:预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段授权