2016-11-18 36 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