gpt4 book ai didi

javascript - Node.js 和 Jake - 如何在任务中同步调用系统命令?

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:53 24 4
gpt4 key购买 nike

Jake 任务执行长时间运行的系统命令。另一个任务取决于第一个任务在开始之前完全完成。 'child_process' 的 'exec' 函数异步执行系统命令,使得第二个任务可以在第一个任务完成之前开始。

编写 Jakefile 以确保第一个任务中长时间运行的系统命令在第二个任务开始之前完成的最干净的方法是什么?

我考虑过在第一个任务结束时在虚拟循环中使用轮询,但这闻起来很糟糕。看来必须有更好的方法。我看过this SO question ,但它并没有完全解决我的问题。

var exec = require('child_process').exec;

desc('first task');
task('first', [], function(params) {
exec('long running system command');
});

desc('second task');
task('second', ['first'], function(params) {
// do something dependent on the completion of 'first' task
});

最佳答案

我通过重读 Matthew Eernisse's post 找到了我自己问题的答案.对于那些想知道如何去做的人:

var exec = require('child_process').exec;

desc('first task');
task('first', [], function(params) {
exec('long running system command', function() {
complete();
});
}, true); // this prevents task from exiting until complete() is called

desc('second task');
task('second', ['first'], function(params) {
// do something dependent on the completion of 'first' task
});

关于javascript - Node.js 和 Jake - 如何在任务中同步调用系统命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6755819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com