У меня есть несколько функций внутри моего маршрута, и я хочу выполнить их по порядку, например, элемент управления должен перемещаться к следующей функции, только если предыдущая функция была успешно выполнена. Например, обратитесь к приведенному ниже коду: я использую sh, чтобы сначала выполнить задачу 1, затем задачу 2 и так далее. Установка тайм-аута или ожидания не кажется эффективным способом, нужно ли мне добавлять функции asyn c или что-то подобное?
Код. js
var task1 = cp.exec('docker images', function (error, stdout, stderr) {
console.log('Version: ' +version);
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
var task2 = cp.exec('docker pull mongo:'+version, function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
var task3 = cp.exec('docker run -d -p '+port2+':27017 -v '+volumeLoc+' --name '+containerName+' mongo:'+version, function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
var task4 = cp.exec('docker ps | grep mongo', function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});