2016-11-18 38 views
0

是否可以等到cp命令完成? 我的使用情况是:在节点JSUbuntu中的cp命令 - 同步

  1. 处理图像

  2. 复制大量的资源(图片 - 100+)从一个地方到另一个地方 - 节点JS运行外部Linux命令。

  3. 将图像处理为PDF文件并通过多个动态值增强PDF。

是否可以等到复制过程结束?由于图像的处理速度比复制速度快,我得到了关于丢失资源的随机错误。 复制过程结束后是否可以开始处理?如果是这样,如何检查?

非常感谢

回答

0

使用子进程回调

var child = child_process.exec("cp package.json ../", function() { 
    console.log("out"); // display out after copy 
}); 
+0

谢谢,我会测试它 – peterko

0

您可以使用'async-waterfall',例如:

var waterfall = require('async-waterfall'); 

waterfall([ 
    function(callback){ 
    console.log('Processing images...') 
    callback(null, 'images'); 
    }, 
    function(arg1, callback){ 
    console.log('Copying images: '+arg1) 
    callback(null, 'images ready for pdf'); 
    }, 
    function(arg1, callback){ 
    console.log('Processing images to pdf: '+arg1) 
    callback(null, 'done'); 
    } 
], function (err, result) { 
    if(!err){ 
    console.log(result) 
    } 
}); 
+0

谢谢,我会测试它 – peterko

+0

@peterko并使用@Dafuck的例子, - 如何执行'cp'。 – aring