如何在 Gulp 执行期间运行函数,以便 Gulp 将函数视为任务(将其打印到日志中)?
这是我的 gulpfile.js 的示例:
async function doStaff(todo) {
// ...
}
exports.default = async () => {
// Some asynchronous logic which gets the subtasks
const todos = await myAPI.getTodos();
await Promise.all(todos.map(async todo => {
const subTask = doStuff.bind(todo);
subTask.displayName = `todo «${todo.name}»`;
await subTask(); // I want it to run as a Gulp task
}));
};
预期的 Gulp 输出:
Starting 'default'...
Starting 'todo «foo»'...
Starting 'todo «bar»'...
Finished 'todo «foo»' after 1.2s
Finished 'todo «bar»' after 1.5s
Finished 'default' after 2s
实际 Gulp 输出:
Starting 'default'...
Finished 'default' after 2s
原因:我的子任务列表无法同步检索,Gulp不支持异步配置,也不打算支持它。我更希望在 Gulp 输出中看到子任务的进度和时间。