2016-05-13 32 views
0

我有在一口一个任务来完成,使用一饮而尽-HG,如下:咕嘟咕嘟-HG任务似乎前实际完成

gulp.task('init',['clean'],function(){ 
    return hg.clone('https://myrepo','./deploy',{args:'--insecure'},function(error,stout){ 
     util.log(error); 
    }); 
}); 

显然吞掉执行依赖于“init”的另一个任务之前,命令完成。我使用回调的方式有问题吗?

回答

1

您需要遵循的async task patterns之一:

  1. 接受回调
  2. 返回流
  3. 返回一个承诺

在你的榜样,回调可能是这样的:

gulp.task('init',['clean'],function(cb){ 
    hg.clone('https://myrepo','./deploy',{args:'--insecure'},function(error,stout){ 
     util.log(error); 
     cb(error); 
    }); 
});