/ / Швидкий паралельний і рядковий мікс працює в node.js - javascript, node.js, nimble

Вирізний паралельний і серійний суміш працює в node.js - javascript, node.js, спритний

Цей зразок коду з node.js у книзі дій:

var flow = require("nimble");
var exec = require("child_process").exec;

function downloadNodeVersion(version, destination, callback) {
var url = "http://nodejs.org/dist/node-v" + version + ".tar.gz";
var filepath = destination + "/" + version + ".tgz";
exec("curl " + url + " >" + filepath, callback);
}

flow.series([
function (callback) {
flow.parallel([
function (callback) {
console.log("Downloading Node v0.4.6...");
downloadNodeVersion("0.4.6", "/tmp", callback);
},
function (callback) {
console.log("Downloading Node v0.4.7...");
downloadNodeVersion("0.4.7", "/tmp", callback);
}
], callback);
},
function(callback) {
console.log("Creating archive of downloaded files...");
exec(
"tar cvf node_distros.tar /tmp/0.4.6.tgz /tmp/0.4.7.tgz",
function(error, stdout, stderr) {
console.log("All done!");
callback();
}
);
}
]);

але друга функція (зворотний виклик) у flow.series не виконується, тобто остаточний архів .tar не створюється. Що не так?

Відповіді:

0 для відповіді № 1

Він знаходиться в блоці exec (), тому контекст втрачається.