Я очень новичок в узле и столкнулся с проблемами при выполнении некоторых функций последовательно и использовании обратных вызовов. Я попытался использовать асинхронный модуль, но, я думаю, что у меня что-то не хватает, потому что он выполняет мои функции не по порядку.последовательно запускать функции в nodejs
В самых простых словах я хотел бы получить некоторые данные в виде URL-адрес Params и затем: 1. записать их в файл 2. LPR распечатывали 3. удалить файл
Моих текущий код удаляет файл перед печатью. Шаг 3 перед шагом 2. Кто-нибудь может предложить некоторые советы о том, как лучше всего их выполнить? Заранее спасибо.
router.get('/zplprint/:barcode/:zpl', function(req, res) {
var zpl = req.params.zpl;
var filename = appDir + "/uploads/" + req.params.barcode + ".zpl";
console.log(req.params.zpl);
res.send("received zpl: " + req.params.zpl);
async.series([
function(callback){
fs.writeFile(filename, zpl, function(err) {
if(err) {
callback(err);
return;
}
console.log("The file was saved! to "+filename);
callback();
});
},
function(callback){
CupsPrinterName = nconf.get('Print:PrinterName');
console.log(CupsPrinterName);
var cmd = 'lpr -P ' + CupsPrinterName + ' -o raw ' + filename;
exec(cmd, function(error, stdout, stderr) {
// command output is in stdout'
console.log(cmd);
console.log("file printed");
});
callback();
},
function(callback){
fs.unlink(filename, function (err) {
console.log(' deleting ' + filename);
});
callback();
}
]);
});
Я знал, что что-то не хватает. Кажется, это трюк. благодаря – neohusky