Gruntjs Grunt:流量控制

Gruntjs Grunt:流量控制,gruntjs,grunt-prompt,Gruntjs,Grunt Prompt,从我自己的任务中,我知道如何使用grunt提示符询问布尔值Q,然后根据答案运行或不运行任务 问题是grunt.task.run()实际上并不运行任务,而是将其添加到队列中 因此,如果我从自己的任务出发: grunt.task.run('prompt:ask'); if (grunt.config('answer')) { grunt.task.run('do:something'); } 当if执行提示任务时,提示任务尚未实际运行 有推荐的方法吗 可能有些语法如下: grunt.tas

从我自己的任务中,我知道如何使用
grunt提示符
询问布尔值Q,然后根据答案运行或不运行任务

问题是grunt.task.run()实际上并不运行任务,而是将其添加到队列中

因此,如果我从自己的任务出发:

grunt.task.run('prompt:ask');
if (grunt.config('answer')) { 
   grunt.task.run('do:something');
}
当if执行提示任务时,提示任务尚未实际运行

有推荐的方法吗

可能有些语法如下:

grunt.task.run('prompt:ask').andThen(function(){
   if (grunt.config('answer')) { 
      grunt.task.run('do:something');
   }
})
Self注意:检查grunt从grunt.task.run返回的内容。输入答案后,您需要使用插件执行代码:

prompt: {
  ask: {
    options: {
      questions: [
        // your question here...
      ],
      then: function(results) {
        if (results[0].whatever) {  // obviously you'll need to update this...
          grunt.task.run('prompt:ask');
        }
      }
    }
  }
}

是的,我知道这是一个选择,但这是一个非常不自然的选择。。。[从某种意义上说,我想要应用的逻辑不是提示任务的一部分,而是在更高的级别上…]我可能最终会从控制功能设置
然后
功能。我希望grunt会有某种形式的更好的流量控制机制。这是我所知道的唯一一种与这个插件的用户提示结果交互的方法。如果Q不是关于这个特定的插件呢?但是第一个任务有什么输出吗?在决定运行或不运行第二个任务之前,需要考虑这一点?对不起,我不确定您将如何干净地完成这一任务。