如果前一个失败,则执行下一个 grunt.task.run()
Execute next grunt.task.run() if previous one failed
我目前 运行 在 grunt 的 for 循环中执行一组任务。例如:data.accounts.forEach(function(payload){
grunt.task.run('exec:task1:'+payload.account+':'+payload.password);
grunt.task.run('exec:task2:'+payload.account+':'+payload.password+':'+payload.first_name);
});
目前的工作方式是,如果这些 exec 中的任何一个失败,那么整个批处理都会失败。我想知道是否有一种方法可以继续循环,即使其中一个失败了。就像某种 try/catch.
考虑一下我的问题后,这可能是一个 grunt-exec 问题。这是我的执行代码:
exec: {
task1: {
cmd: function(account, password){
return 'node node_module ' + account + ' ' + password
}
},
task2: {
cmd: function(account, password, first_name){
return 'node node_module ' + account + ' ' + password + ' ' + first_name
}
}
答案就在 grunt-exec
exec: {
task1: {
cmd: function(account, password){
return 'node node_module ' + account + ' ' + password
},
exitCodes: [0,1]
},
task2: {
cmd: function(account, password, first_name){
return 'node node_module ' + account + ' ' + password + ' ' + first_name
},
exitCodes: [0,1]
}
我目前 运行 在 grunt 的 for 循环中执行一组任务。例如:data.accounts.forEach(function(payload){
grunt.task.run('exec:task1:'+payload.account+':'+payload.password);
grunt.task.run('exec:task2:'+payload.account+':'+payload.password+':'+payload.first_name);
});
目前的工作方式是,如果这些 exec 中的任何一个失败,那么整个批处理都会失败。我想知道是否有一种方法可以继续循环,即使其中一个失败了。就像某种 try/catch.
考虑一下我的问题后,这可能是一个 grunt-exec 问题。这是我的执行代码:
exec: {
task1: {
cmd: function(account, password){
return 'node node_module ' + account + ' ' + password
}
},
task2: {
cmd: function(account, password, first_name){
return 'node node_module ' + account + ' ' + password + ' ' + first_name
}
}
答案就在 grunt-exec
exec: {
task1: {
cmd: function(account, password){
return 'node node_module ' + account + ' ' + password
},
exitCodes: [0,1]
},
task2: {
cmd: function(account, password, first_name){
return 'node node_module ' + account + ' ' + password + ' ' + first_name
},
exitCodes: [0,1]
}