我想创建一个任务,它只在发生变化时构建整个项目。为此,我比较了哈希值(与问题无关)。
const buildIfChanged = async () => {
const hash = await getHash();
const newHash = await getNewHash();
if (hash !== newHash) {
console.log("START");
const task = series(build, cleanup)();
console.log("END", task);
}
};
在这个例子中,task
是undefined
,所以我不能添加一个.on("end", ...)
,然后解决这个承诺,我也不能等待它。
问题是,因为我没有等待它完成,所以buildIfChanged
任务甚至在build
运行之前就完成了。
有没有办法用现代的大锉刀做到这一点?
1条答案
按热度按时间kd3sttzy1#
我已经在现代的gulpfiles中找到了一个解决方案,
parallel
和series
的函数调用实际上是以done函数作为参数的。因此,要解决此问题,您可以执行以下操作: