如果前一个失败,则执行下一个 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]
}