2015-09-05 40 views
0

我希望我的應用程序在執行另一個之前完成第一個處理。我怎麼能在這裏做?在快速跳轉到另一個之前完成處理

//first 
new Imagemin() 
.src('./'+req.file.path) 
.dest('./compressed/') 
.use(Imagemin.optipng({optimizationLevel: 3})) 
.run(function (err, files) { 
    //console.log(files[0]);} 
}); 

//this is next 
var compress = fs.statSync('./compressed/'+req.file.filename); 

console.log(req.file); 
res.json({ 
    filename: req.file.filename, 
    originalsize: req.file.size, 
    compressedsize: compress["size"] 
}); 

我收到錯誤,因爲第一個過程有點慢,因爲它是優化圖像。所以我需要確保它在執行下面的代碼之前完成。

回答

0

在回調函數中啓動第二部分。 例如

new Imagemin() 
.src('./'+req.file.path) 
.dest('./compressed/') 
.use(Imagemin.optipng({optimizationLevel: 3})) 
.run(function (err, files) { 
    //console.log(files[0]);} 
    doNext(); 
}); 

function doNext() { 
    var compress = fs.statSync('./compressed/'+req.file.filename); 

    console.log(req.file); 
    res.json({ 
     filename: req.file.filename, 
     originalsize: req.file.size, 
     compressedsize: compress["size"] 
    }); 
} 
+0

謝謝!它工作正常 – user3569641

相關問題